解决Django 在ForeignKey中出现 non-nullable field错误的问题

翟塘峡口曲江头,万里风烟接素秋。那遍地的绿草,那微风中轻轻摇曳的芦苇,那栖满了夜鹭的灌木丛,就像一幅立体的田园画,静静地展现在我的眼前。

在django的model中建立了如下的类

class UserType(models.Model):
 name = models.CharField(max_length=40, verbose_name=u'用户类型')
 ........
 
 def __str__(self):
 return self.name
 
 
class UserProfile(AbstractUser):
 usertype = models.ForeignKey(UserType, related_name='user_type', verbose_name=u'用户类型', on_delete=models.CASCADE)

可是在执行makemigrations时,出现“You are trying to add a non-nullable field”的错误,提示我ForeignKey必须有一个default值。但是django里面没有要求ForeignKey必须有一个默认值。

问题的原因是原来旧的数据库文件和现在执行的操作有冲突。

解决方法是:把migrations文件夹内除了__init__.py以外的文件删除,重新执行makemigrations就可以了

以上这篇解决Django 在ForeignKey中出现 non-nullable field错误的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
django foreignkey外键使用的例子 相当于left join

浅谈django2.0 ForeignKey参数的变化

django foreignkey(外键)的实现

对django中foreignkey的简单使用详解

django连接数据库获取数据的简单步骤记录