![](/img/trans.png)
[英]Createsuperuser django.db.utils.IntegrityError: NOT NULL constraint failed
[英]Django makemigrations works, migrate fails with “django.db.utils.IntegrityError: NOT NULL constraint failed”
我被卡住了。 Django 1.7,SQLite3。
我已經更改了我的模型以添加thumbnail
列,如本教程中所示 。 就是這樣:
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
我將所有數據備份到json文本文件中
python manage.py dumpdata article --indent=4 > article.json
然后執行
python manage.py makemigrations
哪個有效。 但
python manage.py migrate
失敗了
django.db.utils.IntegrityError: NOT NULL constraint failed: article_article__new.thumbnail
現在,即使在models.py
的thumbnail
行中添加null=True
,運行makemigrations
成功,並且migrate
失敗的方式相同。
我該怎么辦?
我的應用程序名稱(使用python manage.py startapp
創建)稱為articles
。 以下是多次獲取null-constraint錯誤后的新articles\\migrations
文件夾:
__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之外的所有000 *文件。
然后我跑了
python manage.py makemigrations
和
python manage.py migrate
成功。
謝天謝地,感謝irc.freenode.net/django
。
只是添加另一個解決方案。
在我的情況下,我如何創建BASE_DIR
是不正確的,因此DATABASES NAME
也是錯誤的。 所以它是在其他地方創建數據庫。 當我運行遷移時,由於存在一些舊的數據庫,因此可以正確地拋出此錯誤。 所以修復只是糾正DATABASE
路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.