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

yipeiwu_com6年前Python基础

在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错误的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

总结网络IO模型与select模型的Python实例讲解

总结网络IO模型与select模型的Python实例讲解

网络I/O模型 人多了,就会有问题。web刚出现的时候,光顾的人很少。近年来网络应用规模逐渐扩大,应用的架构也需要随之改变。C10k的问题,让工程师们需要思考服务的性能与应用的并发能力。...

Python黑帽编程 3.4 跨越VLAN详解

Python黑帽编程 3.4 跨越VLAN详解

VLAN(Virtual Local Area Network),是基于以太网交互技术构建的虚拟网络,既可以将同一物理网络划分成多个VALN,也可以跨越物理网络障碍,将不同子网中的用户划...

tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法

如下所示: # u [32,30,200] # u_logits [400,32,30] q_j_400 = [] for j in range(400): q_j_400.ap...

python框架flask表单实现详解

这篇文章主要介绍了python框架flask表单实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 表单 表单用于注册,修改用户数...

Python查找两个有序列表中位数的方法【基于归并算法】

Python查找两个有序列表中位数的方法【基于归并算法】

本文实例讲述了Python查找两个有序列表中位数的方法。分享给大家供大家参考,具体如下: 今天做到的一个机试题目,很简单,这里简单记录一下: 我用的是归并的思想,当然还可以用递归的方法,...