【发布时间】: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