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