【发布时间】:2012-03-25 19:40:20
【问题描述】:
我有两个模型,一个是原版 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 概述了该问题,但权宜之计似乎对我不起作用,并且该错误本身被标记为与另一个略有不同但尚未解决的错误的重复...
【问题讨论】:
标签: python django django-models django-orm