2
我有兩個模型,一個是香草Django模型,另一個是包裝視圖的非託管模型。如何刪除非託管視圖模型引用的Django模型
class A(models.Model):
name = models.CharField(max_length=255)
class B(models.Model):
a = models.ForeignKey(A)
class Meta:
managed = False
db_table = 'myview'
一切工作,除非我嘗試刪除從A行,這給了我這樣一個錯誤:
django.db.utils.DatabaseError: cannot delete from view "myview"
HINT: You need an unconditional ON DELETE DO INSTEAD rule or an INSTEAD OF DELETE trigger.
顯然,Django是假設非託管模式是一個表,因此試圖刪除依賴行,並且由於它是隻讀視圖,我的PostgreSQL後端拋出這個錯誤。
有沒有辦法解決這個問題?
我發現this bug report概述了問題,但沒有一個權宜之計黑客似乎爲我工作,並修正它的特點是另一種略有不同的尚未解決的bug的副本...
這是一個只讀視圖,所以我不能設置任何東西爲null,但models.DO_NOTHING工作。謝謝。 – Cerin 2012-03-25 20:17:14