Django CharField, choices and migration -


for reason django asks me migrate randomly, when field isn't changed. migration files same.

model:

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) 

migrations: 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,         ),     ] 

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,         ),     ] 

it happened because progress_choice dict while must list or better tuple.

progress_choices = (     ('1', '1.start'),     ('2', '2.driver_arrived_pick_up'),     ('3', '3.hope_in'),     ('4', '4.driver_arrived_destination'),     ('5', '5.end'), ) 

charfield's choices accept iterable worked dict not preserve order every time make migrations randomly shuffled while being transformed list.


Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -