Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django makemigrations起作用,迁移失败,返回“0”;django.db.utils.IntegrityError:非空约束失败";_Python_Django_Sqlite - Fatal编程技术网

Python Django makemigrations起作用,迁移失败,返回“0”;django.db.utils.IntegrityError:非空约束失败";

Python Django makemigrations起作用,迁移失败,返回“0”;django.db.utils.IntegrityError:非空约束失败";,python,django,sqlite,Python,Django,Sqlite,我卡住了。Django 1.7,SQLite3 我已经更改了模型,添加了缩略图列,如中所示。是这样的: 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

我卡住了。Django 1.7,SQLite3

我已经更改了模型,添加了
缩略图
列,如中所示。是这样的:

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:非空约束失败:article\u article\u new.thumbnail

现在,即使将
null=True
添加到
models.py
中的
缩略图
行中,运行
makemigrations
也会成功,而
migrate
也会以同样的方式失败

我该怎么办?

我的应用程序名(使用
python manage.py startapp
创建)被称为
articles
。在多次获得空约束错误后,这里是新的
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
我删除了两个目录中除0001之外的所有000*个文件

然后我跑了

python manage.py makemigrations

成功


谢天谢地,
irc.freenode.net/django

只是为了添加另一个解决方案


在我的例子中,我如何创建
BASE\u DIR
是不正确的,因此
数据库名称
也是错误的。所以它是在另一个地方创建数据库的。当我运行迁移时,它很可能抛出了这个错误,因为那里存在一些旧数据库。因此,解决方法是只更正
数据库的路径。

我看不出这是如何回答这个问题的。这不是一个答案,而是“然后不要这样做并重新回滚”
python manage.py migrate