django - 如何使用像 Fiverr 这样的 django allauth 实现两种用户类型(卖家和客户或买家)?
问题描述
我正在开发一个网络电子商务项目,其中将有两种类型的用户(卖家、客户)。我一直想知道如何实现fiverr卖家和买家这样的逻辑。我已经创建了一个带有两个标志的用户帐户(is_seller、is_customer)。
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(max_length=254, unique=True)
name = models.CharField(max_length=254, blank=True)
customer = models.ForeignKey('Customer', on_delete=models.CASCADE)
is_seller = models.BooleanField(default=False)
is_customer = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
is_superuser = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
last_login = models.DateTimeField(null=True, blank=True)
date_joined = models.DateTimeField(auto_now_add=True)
USERNAME_FIELD = 'email'
EMAIL_FIELD = 'email'
REQUIRED_FIELDS = []
objects = UserManager()
我想要 2 个用户(卖家和客户)。卖家也可以请求客户帐户(因此将使用相同的电子邮件进行登录和注册),反之亦然。这种情况的最佳方法是什么?
解决方案
如果它们都共享相同的数据字段,那么这可能是最简单的方法。如果会捕获不同的数据,我只会推荐多个用户模型。在这种情况下,您可以扩展 User 模型。
推荐阅读
- javascript - 在数组中找到两次出现的值,中间或相邻没有任何内容
- xcode - 是否可以在 Appstore 上发布带有 Unity 警告的应用程序
- javascript - 托管上的 CSRF 令牌不匹配
- angular - 如何删除“ng build prod”上的代码注释?
- java - 如何将我的 Java Web 应用程序连接到数据库数据源?
- javascript - 已经尝试了几件事来帮助我在我的 wordpress 网站上使用我的 jquery tio,但我仍然一无所获
- java - 为什么我没有从 brodcastReceiver 的 onReceive 方法的意图中获得额外的收益?
- javascript - 如何让 Leaflet 地图从输入值中读取街道?
- arrays - 按顺序将字母表中的字母添加到字符串中
- javascript - 根据给定的第n个元素以循环方式从数组中获取新的第n个索引元素