我的架构类似于以下
class Order(models.Model):
order_id = models.AutoField(max_length=120,primary_key=True)
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
delivery_address = models.CharField(max_length=200, blank=True)
order_Desc= ArrayField(JSONField(),default=list, null=True);
order_by = models.ForeignKey(User,null=True, blank=True,on_delete=models.CASCADE);
我最初尝试将JSON对象列表设置到订单描述列中,但在创建模型对象时始终面临问题column "order_Desc" is of type jsonb[] but expression is of type text[]
。我尝试将order_Desc= ArrayField(JSONField(),default=list, null=True);
转换为order_Desc= JSONField(blank =True,null=True)
,但迁移时出现以下错误
django.db.utils.ProgrammingError: cannot cast type jsonb[] to jsonb
LINE 1: ...TER COLUMN "order_Desc" TYPE jsonb USING "order_Desc"::jsonb
我不知道该怎么做。我试图恢复到原来的状态,但不知怎的,我仍然得到同样的问题,这很奇怪。我还尝试在JSONField类型的模型中添加一个新列,保持旧状态,但这个错误似乎永远不会发生。提前感谢您的帮助。
答案 0 :(得分:1)
如果您在迁移时遇到错误,则意味着迁移未通过,因此您无需还原它;只需删除生成的迁移文件。