如何使用像 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 个用户(卖家和客户)。卖家也可以请求客户帐户(因此将使用相同的电子邮件进行登录注册),反之亦然。 这种情况的最佳方法是什么?

解决方法

如果它们都共享相同的数据字段,那么这可能是最简单的方法。如果要捕获不同的数据,我只会推荐多个用户模型。在这种情况下,您可以extend the User model