【发布时间】:2014-10-18 06:59:40
【问题描述】:
我想在 django 1.6 中创建两种类型的用户帐户
所以我正在关注一个教程MULTIPLE USER TYPES IN DJANGO >=1.5
from django.db import models
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
user = models.OneToOneField(User)
password = models.CharField(
email = models.EmailField(blank=True)
class LinkedInUser(CustomUser):
linkedin_id = models.CharField(max_length=30, unique=True)
class Meta:
verbose_name = 'LinkedIn User'
class FacebookUser(CustomUser):
facebook_id = models.CharField(max_length=30, unique=True)
class Meta:
verbose_name = 'Facebook User'
现在我得到的错误是:
django.core.exceptions.FieldError:类中的本地字段“密码” 'CustomUser' 与基类中类似名称的字段冲突 '抽象用户'
为此,我将删除用户个人资料中的所有内容。
class CustomUser(AbstractUser):
pass
但现在错误是:
(env)refei@user-desktop:~/studio/myproject$ python manage.py syncdb
CommandError: One or more models did not validate:
frontend.profile: Accessor for m2m field 'groups' clashes with related m2m field 'Group.user_set'. Add a related_name argument to the definition for 'groups'.
frontend.profile: 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'.
你能指导我,我哪里错了吗?以及如何在 django 1.6 中创建两种类型的帐户?
已编辑 在 admin 中给出 AUTH_USER_MODEL 后,这里又出现了一个错误。
CommandError:一个或多个模型未验证: admin.logentry: 'user' 与模型 firstapp.CustomUser 有关系,该模型要么尚未安装,要么是抽象的。 auth.user:模型已被替换为尚未安装或抽象的“firstapp.CustomUser”。
【问题讨论】:
标签: python django django-models django-admin