Python django south正在更改我在init上的布尔数据
要将数据库输出到json文件,我通常会这样做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界面上看到,为了更仔细地
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!我认为这可能是重新加载夹具的问题,我如何防止重新加载夹具的迁移,在我看来这是违反直觉的,因为对我来说,南方是保存数据和更改模型的一种方式,如果它重新加载夹具,那么它就不保存我的数据…更新答案。如果答案正确,不要忘记接受:)