在将问题标记为重复之前,请阅读我的问题。我已经通过StackOverflow寻求解决方案,但是没有找到任何可以解决我问题的方法。
我有这个模型,其中price
是一个整数字段。我确实进行了迁移,一切都很好。
from django.db import models
class Bill(models.Model):
price= models.IntegerField()
然后由于需求更改,我不得不将price
字段设置为JSONField,它将基于类似于此的某些键来存储price
值
price={"actual_price":100, "tax_price":20}
我对模型进行了如下更改:
from django.db import models
class Bill(models.Model):
price= JSONField(blank=True, null=True)
我执行了makemigrations和迁移操作,这些迁移未反映在DB中。也没有错误。当我的代码尝试从数据库读取时,出现错误“列:价格不存在”。
我通过参考StackOverflow其他问题尝试了以下操作:
请注意:
我需要django迁移才能自动将更改应用到工作。由于此问题,仅添加新列和修改列的数据类型根本不起作用(Rest操作(如删除列)有效。
请帮助。
由于没有其他选择,也没有提供解决方案,因此我不得不将我的应用程序指向PostGres中的新数据库,然后它开始正常工作。未来的经验教训: