Python 自定义用户模型中的django.db.utils.IntegrityError
自定义用户模型:Python 自定义用户模型中的django.db.utils.IntegrityError,python,django,django-allauth,django-users,django-rest-auth,Python,Django,Django Allauth,Django Users,Django Rest Auth,自定义用户模型: class User(AbstractBaseUser): id = models.AutoField(primary_key=True) username = models.CharField(max_length=30) email = models.EmailField(unique=True,max_length=75) test = models.CharField(max_length=20) USERNAME_FIELD
class User(AbstractBaseUser):
id = models.AutoField(primary_key=True)
username = models.CharField(max_length=30)
email = models.EmailField(unique=True,max_length=75)
test = models.CharField(max_length=20)
USERNAME_FIELD = 'email'
class Meta:
managed = False
db_table = 'auth_user'
在运行/manage.py migrate
时,出现以下错误:
django.db.utils.IntegrityError: (1215, 'Cannot add foreign key constraint')
mysql上显示引擎INNODB状态的代码显示:
2015-07-12 19:29:25 133f4a000 Error in foreign key constraint of table edutraffic/#sql-55ea_17a:
FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`):
Cannot resolve table name close to:
(`id`)
因此,我删除了完整的数据库并重新创建了它,仍然得到相同的错误
settings.py
文件:
AUTH_USER_MODEL = 'users.User'
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.staticfiles',
'django.contrib.sites',
'rest_framework',
'rest_framework.authtoken',
'rest_auth',
'allauth',
'allauth.account',
'rest_auth.registration',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'allauth.socialaccount.providers.google',
'users',
)
您已设置为
False
,这意味着Django将不创建表。删除该行,或者手动创建表。您有managed=False
,这意味着Django不会创建表。你确定它存在吗?愚蠢的错误……你的建议奏效了!!