Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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 south正在更改我在init上的布尔数据_Python_Django_Django South - Fatal编程技术网

Python django south正在更改我在init上的布尔数据

Python django south正在更改我在init上的布尔数据,python,django,django-south,Python,Django,Django South,要将数据库输出到json文件,我通常会这样做 python manage.py dumptdata --indent=4 > mydata.json 但是,在执行以下两个命令设置时: python manage.py schemamigration myproj --initial python manage.py migrate myproj --fake 我注意到mytable中一个条目的两个布尔值从FALSE切换到TRUE!我从与数据库交互的GUI Web界面上看到,为了更仔细地

要将数据库输出到json文件,我通常会这样做

python manage.py dumptdata --indent=4 > mydata.json
但是,在执行以下两个命令设置时:

python manage.py schemamigration myproj --initial
python manage.py migrate myproj --fake
我注意到mytable中一个条目的两个布尔值从FALSE切换到TRUE!我从与数据库交互的GUI Web界面上看到,为了更仔细地比较更改和损坏的内容,我想将json与json进行比较,但如果启用了south,我就不能再使用上面的命令了

Not synced (use migrations):
 - myproj
我的表中有受影响的条目,如下所示,我可以有更多未发现的受影响数据

class MyConfig(models.Model):
    name = models.CharField(max_length=64)
    myConfigName = models.CharField(max_length=64, unique=True)
    myA = models.ForeignKey(MyA)
    myB = models.ForeignKey(MyB)
    myBoolA = models.BooleanField()
    myBoolB = models.BooleanField()
    myBoolC = models.BooleanField()

    class Meta:
        unique_together = ('name', 'myA', 'myB')

    def __unicode__(self):
        return '%s_%s_%s' % (self.myA.name, self.myB.name, self.name)

我认为,无论是初始值还是伪值都不应该改变数据库,所以我很惊讶它会修改数据。至于为什么会出现“不同步(使用迁移)”错误,我认为可能是因为您伪造了初始迁移

尝试取消迁移--false并使用重新应用初始迁移

python manage.py migrate --fake zero
python manage.py migrate

然后,您应该能够执行dumptdata

schemamigration
migrate--fake
不修改数据库。您是否有任何可以在迁移时重新加载的初始_数据装置?看

尝试使用以下工具进行迁移:

python manage.py migrate --no-initial-data

有关选项的更多信息,请参见

谢谢luc!我认为这可能是重新加载夹具的问题,我如何防止重新加载夹具的迁移,在我看来这是违反直觉的,因为对我来说,南方是保存数据和更改模型的一种方式,如果它重新加载夹具,那么它就不保存我的数据…更新答案。如果答案正确,不要忘记接受:)