【问题标题】:django.db.utils.ProgrammingError: cannot cast type jsonb[] to jsonbdjango.db.utils.ProgrammingError:无法将类型 jsonb[] 转换为 jsonb
【发布时间】:2017-07-24 16:41:44
【问题描述】:

我的架构如下所示

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

【问题讨论】:

    标签: python django postgresql django-models


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2017-12-21
      • 2019-02-26
      • 1970-01-01
      • 1970-01-01
      • 2020-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多