Python 3.x django模型在每次迁移时都会收到Alter Field警报

Python 3.x django模型在每次迁移时都会收到Alter Field警报,python-3.x,django,django-models,django-forms,django-views,Python 3.x,Django,Django Models,Django Forms,Django Views,每次运行命令python manage.py makemigrations时,我都会收到alter FIELD警报。我也会删除我的数据库旧迁移文件,但警报仍然存在。有人知道如何解决此问题吗 Migrations for 'assignment': assignment/migrations/0012_auto_20201016_0754.py - Alter field city on assignment - Alter field status on assignment

每次运行命令
python manage.py makemigrations
时,我都会收到alter FIELD警报。我也会删除我的数据库旧迁移文件,但警报仍然存在。有人知道如何解决此问题吗

Migrations for 'assignment':
  assignment/migrations/0012_auto_20201016_0754.py
    - Alter field city on assignment
    - Alter field status on assignment
很可能该集合每次都以不同的顺序“洗牌”,使得
选择不可预测。如果多次运行Python进程,则每次哈希常量都不同。您可以使用列表,这将确保顺序始终相同:

class Assignment(models.Model):
    
    CITY_SELECT = [  # ← use a list
        ('i', 'Islamabad'),
        ('l', 'Lahore'),
        ('m', 'Multan'),
        ('k', 'Karachi'),
        ('q', 'Queta'),
        ('p', 'Pashawar')
    ]
    
    STATUS_SELECT = [  # ← use a list
        ('p', 'Pendding'),
        ('d', 'Done'),
        ('i', 'In field'),
        ('c', 'Cancel')
    ]

    place = models.CharField(max_length=100)
    desc = models.CharField(max_length=500)
    reporter = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
    created_on = models.DateTimeField(auto_now_add=True)
    assign_time = models.DateTimeField(auto_now=False, null=True)
    city = models.CharField(choices=CITY_SELECT, max_length=9)
    status = models.CharField(choices=STATUS_SELECT, max_length=8)
课堂作业(models.Model):
城市选择=[#←使用列表
(“我”、“伊斯兰堡”),
(‘l’、‘拉合尔’),
(‘m’、‘木尔坦’),
(‘k’、‘卡拉奇’),
(‘q’、‘Queta’),
(‘p’、‘帕沙瓦’)
]
状态选择=[#←使用列表
(‘p’、‘Pendding’),
('d','Done'),
('i','In field'),
(‘c’、‘Cancel’)
]
位置=型号.字符域(最大长度=100)
desc=models.CharField(最大长度=500)
reporter=models.ForeignKey(用户,on_delete=models.SET_NULL,NULL=True)
已创建\u on=models.DateTimeField(自动\u now\u add=True)
assign\u time=models.DateTimeField(auto\u now=False,null=True)
city=models.CharField(选项=city\u SELECT,最大长度=9)

status=models.CharField(choices=status\u SELECT,max\u length=8)
您使用的Python版本是什么。看起来每次设置的顺序都不同。我现在在该项目上使用的python版本
python3.8.6(默认,2020年9月25日09:36:53)
class Assignment(models.Model):
    
    CITY_SELECT = [  # ← use a list
        ('i', 'Islamabad'),
        ('l', 'Lahore'),
        ('m', 'Multan'),
        ('k', 'Karachi'),
        ('q', 'Queta'),
        ('p', 'Pashawar')
    ]
    
    STATUS_SELECT = [  # ← use a list
        ('p', 'Pendding'),
        ('d', 'Done'),
        ('i', 'In field'),
        ('c', 'Cancel')
    ]

    place = models.CharField(max_length=100)
    desc = models.CharField(max_length=500)
    reporter = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
    created_on = models.DateTimeField(auto_now_add=True)
    assign_time = models.DateTimeField(auto_now=False, null=True)
    city = models.CharField(choices=CITY_SELECT, max_length=9)
    status = models.CharField(choices=STATUS_SELECT, max_length=8)