当你永远做一个变化对模型的Django必须进行迁移,因为它需要跟踪的已经改变了什么随着时间的推移模型。但是,这并不意味着数据库中将进行修改。这里产生的迁移是空的。你的移植可能看起来像这样,你会说,干草不是空的!
class Migration(migrations.Migration):
dependencies = [
('stackoverflow', '0010_jsonmodel'),
]
operations = [
migrations.AlterField(
model_name='jsonmodel',
name='jfield',
field=stackoverflow.models.MyJsonField(),
),
migrations.AlterField(
model_name='parent',
name='picture',
field=models.ImageField(storage=b'Bada', upload_to=b'/home/'),
),
]
但它是!只是做
./manage.py sqlmigrate <myapp> <migration_number>
而且你会发现它不会产生任何SQL!如建议通过@sayse从报价
Django会使迁移的任何更改您的模型或领域 - 甚至不影响数据库选项 - 作为唯一的方式,它可以 正确重建场将在 历史记录中进行所有更改,稍后您可能需要在某些数据迁移 中使用这些选项(例如,如果您设置了自定义验证器)。
如果未在设置中指定存储,则使用默认存储并创建迁移。如果我在初始迁移后更改存储空间,则会创建一个新的迁移文件,我不希望这样做。 –