【发布时间】:2017-04-09 15:21:12
【问题描述】:
我正在 Django 中扩展抽象用户模型,它不会让我迁移并抛出与外键相关的错误。
from django.db import models
from django.contrib.auth.models import AbstractUser
import uuid
#Database model for Users.
class User(AbstractUser):
'''
Abstract user model inherited containing all basic fields such as:
first and last name, username, email, password etc. Abstract User fields.
'''
user_id = models.UUIDField(
primary_key = True,
default = uuid.uuid4,
editable = False
)
is_owner = models.BooleanField(
default = False
)
class Meta:
db_table = 'Users'
def __str__(self):
self.constructLabel(
self.first_name,
self.last_name,
self.user_id
)
错误: django.db.utils.IntegrityError: (1215, '无法添加外键约束')
来自数据库的错误是:
2017-04-09 20:33:07 0x7f3440171700 Error in foreign key constraint of table shipapp/#sql-3c9_33:
FOREIGN KEY (`user_id`) REFERENCES `users_user` (`user_id`):
Cannot resolve table name close to:
(`user_id`)
之前遇到过这种情况的任何人都可以帮助我吗?自从 Django 1.8.5 发布以来,我一直失去联系。 :(
【问题讨论】:
-
这里的shipapp是什么?发布您的完整回溯
-
shipapp 是我的项目名称。
-
请发布您的完整回溯。一件事,错误与
add foreign key有关。在您发布的代码中,没有外键。 -
我检查了一切。并且发现了问题。我指的是下面的解决方案。