【发布时间】:2017-10-08 23:19:19
【问题描述】:
我正在尝试将Comment 与User 模型相关联,但不知何故,该字段并未在数据库中创建。当我尝试访问该页面时,显示以下错误:
(1054, "'字段列表'中的未知列'user_cmets.user_id'")
这些在models.py:
class User(models.Model):
username = models.CharField(max_length=128)
password = models.CharField(max_length=128)
first_name = models.CharField(max_length=128)
last_name = models.CharField(max_length=128)
email = models.CharField(max_length=128)
date_joined = models.DateField(auto_now_add=True)
class Meta:
db_table = 'auth_user'
ordering = ('date_joined',)
class Comment(models.Model):
user = models.ForeignKey('auth.User', related_name='comments', on_delete=models.CASCADE)
content = models.CharField(max_length=256)
date_created = models.DateField(auto_now_add=True)
class Meta:
db_table = 'user_comments'
ordering = ('date_created',)
def __str__(self):
return self.content
def save(self, *args, **kwargs):
content = self.content
super(Comment, self).save(*args, **kwargs)
如果我将user 变量命名为user_id,则在管理面板中创建新的Comment 时将显示一条错误消息user_id_id。
** 更新**
我删除了整个数据库并删除了db_table 选项,因此user_id 已创建。但是现在,在创建新的Comment 后,以下内容:
IntegrityError at /admin/api/comment/add/
(1452, 'Cannot add or update a child row: a foreign key constraint fails (`softwarestore`.`api_comment`, CONSTRAINT `api_comment_user_id_14315666_fk_api_user_id` FOREIGN KEY (`user_id`) REFERENCES `api_user` (`id`))')
【问题讨论】:
-
你跑
makemigrations和migrate了吗? -
是的,我做到了。请检查我的答案。
标签: mysql django foreign-keys django-rest-framework