Python 扩展Django-Auth用户模型
管理员Python 扩展Django-Auth用户模型,python,django,Python,Django,管理员 class NetUserInline(admin.StackedInline): model = NetUser class UserProfileAdmin(UserAdmin): inlines = [NetUserInline, ] admin.site.register(User, UserProfileAdmin) models.py class NetUser(AbstractUser): Net_30 = models.BooleanFiel
class NetUserInline(admin.StackedInline):
model = NetUser
class UserProfileAdmin(UserAdmin):
inlines = [NetUserInline, ]
admin.site.register(User, UserProfileAdmin)
models.py
class NetUser(AbstractUser):
Net_30 = models.BooleanField(default=False)
site.register(NetUser)
我犯了这样的错误
django.core.management.base.CommandError: One or more models did not validate:
accounts.netuser: Accessor for m2m field 'groups' clashes with related m2m field 'Group.user_set'. Add a related_name argument to the definition for 'groups'.
accounts.netuser: Accessor for m2m field 'user_permissions' clashes with related m2m field 'Permission.user_set'. Add a related_name argument to the definition for 'user_permissions'.
auth.user: Accessor for m2m field 'groups' clashes with related m2m field 'Group.user_set'. Add a related_name argument to the definition for 'groups'.
auth.user: Accessor for m2m field 'user_permissions' clashes with related m2m field 'Permission.user_set'. Add a related_name argument to the definition for 'user_permissions'.
您可能忘记在settings.py中设置AUTH\u USER\u模型
AUTH_USER_MODEL = 'myapp.NetUser'
文件:
PS:但是使用某种imho通常不那么痛苦)您可能忘记了在settings.py中设置AUTH\u USER\u模型
AUTH_USER_MODEL = 'myapp.NetUser'
文件:
PS:但是使用某种imho通常不那么痛苦)Django用户模型自动成为任何Django项目的一部分。也就是说,用户模型将在运行
syncdb
的同时创建属于它的所有数据库表。您已经为NetUser类对AbstractUser进行了子类化,这意味着AbstractUser的所有字段都是NetUser的一部分。所以,现在您的数据库中有这样的表
- 使用者
- 用户名
- 密码
- 电子邮件
- 网络用户
- 用户名
- 密码
- 电子邮件
- 净收入30
AUTH\u user\u model='Accounts.NetUser'
添加到settings.py文件中,您必须指定用户模型使用的内容(如果不是默认值)。这会告诉Django项目您使用的是自定义用户模型,而不是连接到标准用户模型。现在这两种情况都在发生
此外,您应该将
admin.site.register(User,UserProfileAdmin)
更改为admin.site.register(NetUser,UserProfileAdmin)
,以便您的管理后端查看的是您的自定义用户模型,而不是标准的Django用户模型。Django用户模型自动成为任何Django项目的一部分。也就是说,用户模型将在运行syncdb
的同时创建属于它的所有数据库表。您已经为NetUser类对AbstractUser进行了子类化,这意味着AbstractUser的所有字段都是NetUser的一部分。所以,现在您的数据库中有这样的表
- 使用者
- 用户名
- 密码
- 电子邮件
- 网络用户
- 用户名
- 密码
- 电子邮件
- 净收入30
AUTH\u user\u model='Accounts.NetUser'
添加到settings.py文件中,您必须指定用户模型使用的内容(如果不是默认值)。这会告诉Django项目您使用的是自定义用户模型,而不是连接到标准用户模型。现在这两种情况都在发生
此外,您应该将
admin.site.register(User,UserProfileAdmin)
更改为admin.site.register(NetUser,UserProfileAdmin)
这样,您的管理员后端会查看您的自定义用户模型,而不是标准的Django用户模型。我尝试了上述解释,但没有收到类似这样的错误。shop.cart:“User”与model Accounts.NetUser有关系,后者要么尚未安装,要么是抽象的。shop.order:“user”与尚未安装或是抽象的model Accounts.NetUser有关系。accounts.address:“user_shipping”与模型accounts.NetUser有关系,该模型尚未安装或是抽象的。accounts.address:“user\u billing”与尚未安装或是抽象的model accounts.NetUser有关系。reversion.revision:“user”与模型Accounts.NetUser有关系,该模型尚未安装我尝试了上述解释,但没有收到类似的错误。shop.cart:“user”与模型Accounts.NetUser有关系,该模型Accounts.NetUser未安装或是抽象的。shop.order:“user”与尚未安装或是抽象的model Accounts.NetUser有关系。accounts.address:“user_shipping”与模型accounts.NetUser有关系,该模型尚未安装或是抽象的。accounts.address:“user\u billing”与尚未安装或是抽象的model accounts.NetUser有关系。reversion.revision:“user”与尚未安装的model Accounts.NetUser有关系