问题描述
我被困住了.Django 1.7,SQLite3.
I'm stuck. Django 1.7, SQLite3.
我已更改模型以添加 thumbnail
列,如本教程.就是这样:
I've changed my model to add the thumbnail
column, as in this tutorial. It was this:
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
pub_date = models.DateTimeField('date published')
likes = models.IntegerField(default=0)
def __str__(self):
return self.title
现在是这个:
from django.db import models
from time import time
def get_upload_file_name(instance, filename):
return "uploaded_files/%s_%s" % (str(time()).replace(".", "_"), filename)
class Article(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
pub_date = models.DateTimeField('date published')
likes = models.IntegerField(default=0)
thumbnail = models.FileField(upload_to=get_upload_file_name, null=True)
def __str__(self):
return self.title
我使用
python manage.py dumpdata article --indent=4 > article.json
然后执行
python manage.py makemigrations
有效.但是
python manage.py migrate
失败
django.db.utils.IntegrityError:NOT NULL约束失败:article_article__new.thumbnail
现在,即使将 null = True
添加到 models.py
中的 thumbnail
行中,也运行了 makemigrations
成功,并且 migrate
失败的方式相同.
And now, even after adding null=True
to the thumbnail
line in models.py
, running makemigrations
succeeds, and migrate
fails the same way.
我该怎么办?
推荐答案
我的应用程序名称(由 python manage.py startapp
创建)称为 articles
.在多次出现空约束错误之后,这是新的 articles \ migrations
文件夹:
My app name (as created with python manage.py startapp
) is called articles
. Here is the new articles\migrations
folder, after getting the null-constraint error multiple times:
__init__.py
0001_initial.py
0002_auto_20140803_1540.py
0003_auto_20140803_1542.py
0004_auto_20140803_1450.py
0005_auto_20140803_1552.py
__pycache__
__init__.cpython-34.pyc
0001_initial.cpython-34.pyc
0002_auto_20140803_1540.cpython-34.pyc
0003_auto_20140803_1542.cpython-34.pyc
0004_auto_20140803_1450.cpython-34.pyc
0005_auto_20140803_1552.cpython-34.pyc
我删除了两个目录中的所有000 *文件,除了0001.
I deleted all the 000* files, in both directories, except 0001.
然后我跑了
python manage.py makemigrations
和
python manage.py migrate
成功.
非常感谢 irc.freenode.net/django
.
这篇关于Django makemigrations有效,迁移失败并显示"django.db.utils.IntegrityError:NOT NULL约束失败".的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!