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