Django完整性错误:非空约束失败

时间:2017-09-21 16:26:44

标签: python django

我正在尝试建立一个类似网站的博客。

这是我的models.py

class upload(models.Model):
    username = models.CharField(max_length=100)
    user = models.ForeignKey(settings.AUTH_USER_MODEL,default=1)
    title = models.CharField(max_length=100)
    description = models.CharField(max_length=300,default=None)
    content = models.TextField(default=None,blank=True,null=True)
    docFile = models.FileField(default=None,blank=True,null=True)
    timestamp = models.DateTimeField(auto_now=False,auto_now_add=True)

    def __unicode__(self):
           return self.title

    class Meta:
           ordering = ["-timestamp"]

    def get_absolute_url(self):
           return reverse("detail",kwargs={"id":self.id})

我已将models.py更改为包含之前不存在的TextField(内容)

。然后我运行了成功执行的命令python manage.py makemigrations。之后当我运行python manage.py migrate时,我正在

  

IntegrityError:NOT NULL约束失败:uploads_upload.content

(上传是我的应用的名称)

阅读以前对此错误的SO回答,我还在我的内容属性中添加了null=Trueblank=True,但我仍然遇到同样的错误。

我正在通过Django表单输入详细信息。这是我的forms.py

class PostForm(forms.ModelForm):
#docfile = upload.docFile(required=False)
class Meta:
    model = upload
    fields = [
    "title",
    "description",
    "username",
    "content",
    "docFile",
    ]

为什么我收到此错误?

1 个答案:

答案 0 :(得分:3)

当您更改模型以添加null=Trueblank=True时,您没有重新创建迁移。

您需要重新运行python manage.py makemigrations,然后才能进行第二次迁移迁移