【发布时间】:2017-07-21 10:33:08
【问题描述】:
当我进行迁移时python manage.py makemigrations wall
我在控制台中看到 Django (1.8.12) 告诉我一长串被触及的字段:
Migrations for 'wall':
0079_auto_20170302_0024.py:
- Add field periodic_task_interval to userproject
- Alter field bank_problems on bankireference
- Alter field bank_problems_category on bankireference
- Alter field bank_products on bankireference
- Alter field bank_products_category on bankireference
- Alter field extr_category on bankireference
- Alter field extr_words on bankireference
- Alter field neg_features on bankireference
- Alter field neutral_features on bankireference
- Alter field pos_features on bankireference
- Alter field tonality_category on bankireference
- Alter field tonality_words on bankireference
- Alter field bank_problems on fbpagepost
- Alter field bank_problems_category on fbpagepost
- Alter field bank_products on fbpagepost
- Alter field bank_products_category on fbpagepost
- Alter field extr_category on fbpagepost
......广告等等,靠近所有字段,即ManyToManyField。我还检查了其他迁移,看起来像是随机选择的字段,因为我也看到了tagulous.models.fields.TagField
乃至
models.TextField.
但是,我确信 a 没有改变那些字段,甚至没有触及它们
这是 0079_auto_20170302_0024.py 中未触及字段的内容:
......
migrations.AlterField(
model_name='userproject',
name='description',
field=models.TextField(default='', verbose_name='Description', blank=True, null=True),
),
......
我唯一做的就是添加- Add field periodic_task_interval to userproject 所以其他字段 - 为什么它们出现在迁移中?
由于大数据库,这会影响长时间进行实际迁移吗?
【问题讨论】:
-
尝试运行
sqlmigrate看看它会说什么。有时,当我使用choices=a_dict.items()之类的东西时会生成随机迁移,它会以与以前不同的顺序返回选择。在 Python 3.6 之前,订单是未定义的,所以这是预期的行为,我现在使用OrderedDict来处理这些事情。 -
@Anonymous 好的,我有选择,但是 ManyToManyField 呢 - 没有任何选择
标签: python django django-migrations