我有两个模型,一个是普通的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后端会抛出此错误。
有没有什么方法可以解决这个问题?
我发现这个bug报告概述了这个问题,但是其中的临时解决方案似乎都不适用于我,并且该bug本身被标记为另一个稍微不同但未解决的bug的副本...