2
2つのモデル、1つはバニラDjangoモデル、もう1つはビューをラップするアンマネージドモデルです。アンマネージドビューモデルによって参照される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を見つけましたが、一時しのぎハックのどれも私のために働くように見えるん、バグ自体は別のわずかに異なる、まだ未解決のバグの重複をマークした...
これは読み取り専用ビューなので、nullに設定することはできませんが、models.DO_NOTHINGは機能しました。ありがとう。 – Cerin