由于某种原因,当该字段未更改时,Django 要求我随机迁移。迁移文件是相同的。
模型:
PROGRESS_CHOICE = {
('1', '1.start'),
('2', '2.driver_arrived_pick_up'),
('3', '3.hope_in'),
('4', '4.driver_arrived_destination'),
('5', '5.end')
}
progress = models.CharField(max_length=20, choices=PROGRESS_CHOICE, default=1, blank=True)
Run Code Online (Sandbox Code Playgroud)
迁移:1。
class Migration(migrations.Migration):
dependencies = [
('api', '0031_auto_20150603_1515'),
]
operations = [
migrations.AlterField(
model_name='ride',
name='progress',
field=models.CharField(max_length=20, default=1, blank=True, choices=[('1', '1.start'), ('3', '3.hope_in'), ('4', '4.driver_arrived_destination'), ('2', '2.driver_arrived_pick_up'), ('5', '5.end')]),
preserve_default=True,
),
]
Run Code Online (Sandbox Code Playgroud)
2.
class Migration(migrations.Migration):
dependencies = [
('api', '0032_auto_20150603_1734'),
]
operations = [
migrations.AlterField(
model_name='ride',
name='progress',
field=models.CharField(default=1, max_length=20, choices=[('1', '1.start'), ('4', '4.driver_arrived_destination'), ('5', '5.end'), ('3', '3.hope_in'), ('2', '2.driver_arrived_pick_up')], blank=True),
preserve_default=True,
),
]
Run Code Online (Sandbox Code Playgroud)
它发生是因为PROGRESS_CHOICE已经有一段dict时间了,它一定是 alist或更好的 a tuple。
PROGRESS_CHOICES = (
('1', '1.start'),
('2', '2.driver_arrived_pick_up'),
('3', '3.hope_in'),
('4', '4.driver_arrived_destination'),
('5', '5.end'),
)
Run Code Online (Sandbox Code Playgroud)
CharFieldchoices接受任何可迭代,因此它可以工作,但dict不保留顺序,因此每次进行迁移时,它都会在转换为列表时随机洗牌。
| 归档时间: |
|
| 查看次数: |
1603 次 |
| 最近记录: |