这是我的Django模型
class author(models.Model):
name = models.CharField('name',max_length=140)
datamode = models.CharField(max_length=1, default='A', choices=DATAMODE_CHOICE)
def __str__(self):
return '%s' % (self.name)
虽然我在另一个类中使用此类author
作为外键,如下所示:
class books(models.Model):
NEW_FLAG=(('N','New'),('O','Old'))
name = models.CharField('name',max_length=140)
author = models.ForeignKey(author, blank=True, null=True)
当我在admin中输入新书的详细信息时,它会显示:
IntegrityError: Column 'author_id' cannot be null.
答案 0 :(得分:6)
仅仅因为您的模型表示某些内容并不意味着您的数据库同意。验证您的架构。
答案 1 :(得分:1)
对我而言,似乎你已经改变了你的模特。更改模型后是否使用过python manage.py syncdb
?
如果您仍在编码您的应用并且并不真正关心保留数据,那么最好删除数据并让django再次创建表。如果您必须保留数据,那么您必须验证您的数据库架构,就像已经说过的那样。
答案 2 :(得分:0)
现在它正在工作,我只是删除了我的数据库,并再次创建了一个新的。无论如何,谢谢大家。