我想更新Django User表,并在其中添加另一个字段。这就是我的方式。
class User(AbstractUser):
platform = models.CharField(max_length=10)
USERNAME_FIELD = 'email'
现在,因为有一个字段USERNAME_FIELD
,它占据一个独特的字段。但是,我希望username and platform
应该是unique_together
,而不仅仅是username
。
我怎样才能做到这一点?
答案 0 :(得分:0)
AbstractUser是一个大多数完整的模型,它定义了一组默认字段,包括用户名唯一性。如果这对您不起作用,那么您应该继承AbstractBaseUser并定义完整的字段集。
答案 1 :(得分:0)
仅当您使用内置身份验证后端时,用户名字段上的唯一性。
直接从Django文档
如果您使用默认的身份验证后端,则您的模型必须具有单个唯一字段...如果您使用可以支持该功能的自定义身份验证后端,则允许使用非唯一的用户名字段。
希望这会有所帮助
答案 2 :(得分:0)
从您的问题和评论来看,您很清楚(如果我没有完全误解)您希望使用带有多个 email
的 platform
(标识符)保存用户。在这种情况下,如果您的数据库是 Postgresql,您可以在 postgres ArrayField
列上使用 platform
,或者您可以使用 django 提供的 JsonField
。
Postgresql Array Field 在 Django > 1.7 中可用