【发布时间】:2020-04-18 19:38:56
【问题描述】:
我有一个简单的 User 模型,它只是用一些额外的字段扩展了 AbstractUser 类。我尝试添加“objects = UserQuerySet.as_manager() 但在我尝试创建超级用户时给了我一个错误“get_by_natural_key() is not defined”。似乎它正在覆盖常规用户管理器,所以我失去了它附带。我尝试将对象字段重命名为其他内容,这样我就不会覆盖默认字段,但它仍然是相同的错误。有没有办法简单地添加查询集而不创建全新的管理器类,扩展 BaseUserManager,添加所有从头开始使用默认方法,并向其中添加我的自定义查询集?我只想保留常规的 UserManager 并添加查询集。
class UserQuerySet(QuerySet):
def more_ten(self):
return self.filter(points__gt=10)
class User(AbstractUser):
points = IntegerField(default=0)
tester = UserQuerySet.as_manager()
#objects = UserQuerySet.as_manager()
【问题讨论】:
-
您能分享您的自定义用户模型和自定义查询集代码吗?
标签: django django-rest-framework