0
我有一個與另一個模型具有M2M的模型。就像這樣:在ManyToMany關係中刪除對象後保留數據
class Author(models.Model):
name = models.CharField(max_length=50)
class Book(models.Model):
author = models.ManyToManyField("Author")
我想保持數據的中間表,即使我從加入到Book
對象Author
刪除的對象。很像外鍵字段有on_delete=models.DO_NOTHING
。
我不認爲Django有這個'功能'。
每次執行Author.objects.all()。delete()時,Books的字段作者都將變爲空白。我不想讓他們空虛。我想在delete()之前保留數據。
我想這樣做的原因是因爲我收到一個提要,並對該提要做了一個總結。我從作者中刪除對象,因爲它們可能會更新,我不想繼續檢查數據。它更容易刪除,數據不應該改變PK的。
如果您想保留刪除前的數據,請不要刪除它。根據我的理解,您的粗體陳述是不可能的,因爲定義了刪除操作。您應該更新已存儲的對象,並在必要時檢索它們。 – Neelik
@ Neelik,沒有什麼是不可能的。這只是時間,努力和資源的問題。我正在研究一種解決方案,如果它能正常工作,我會發布... – mk2
我很想看到您的解決方案。我的建議是將後保存信號添加到作者模型,該模型可以將該更改傳達給您的Feed。這將允許您保持最新的信息並防止刪除。我很好奇,爲什麼在你的情況下,刪除是必要的? – Neelik