django.db.utils.ProgrammingError:无法将类型jsonb []强制转换为jsonb

时间:2017-07-24 16:41:45

标签: python django postgresql django-models

我的架构类似于以下

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类型的模型中添加一个新列,保持旧状态,但这个错误似乎永远不会发生。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果您在迁移时遇到错误,则意味着迁移未通过,因此您无需还原它;只需删除生成的迁移文件。