Django中自定义用户和管理器的正确名称

2024-04-29 11:09:33 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的django项目中,我为User及其manager类创建了自定义模型。 我将它们命名为User(从AbstractUser继承)和UserManager(从BaseUserManager继承)。鉴于这些是这些模型的默认django名称,这有什么问题吗? 我运行以下django shell表单:

>>>from django.contrib.auth import get_user_model
>>>user = get_user_model() 
>>>user.objects

这些是产出:

<class 'myapp.models.models.User'>
<class 'myapp.models.models.UserManager'>

显然,没有显示冲突,因此似乎没有问题。我希望django的一些专家能证实我,在以后的开发过程中,我不会有任何惊喜


Tags: 项目django模型getmodelmodelsmanager命名
1条回答
网友
1楼 · 发布于 2024-04-29 11:09:33

这没有问题

但是,您必须告诉Django您已经完成了自定义用户模型,并且希望通过在settings.py文件中定义AUTH_USER_MODEL设置来使用它

AUTH_USER_MODEL = '<name_of_your_app>.<name_of_your_user_model'

在我的一个项目中,我做了:AUTH_USER_MODEL = 'base.User'

官方文件中的更多信息HERE

相关问题 更多 >