2017-07-24 78 views
0

我有一個模式,它是這樣以下django.db.utils.ProgrammingError:不能投射型jsonb []以jsonb

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

如果在遷移時出現錯誤,則意味着遷移未通過,因此您無需恢復;只需刪除生成的遷移文件。

+0

謝謝它的工作 – RBN