django:ManyToMany:更新和插入业务规则

时间:2020-03-12 08:07:55

标签: django business-rules

注:django的新手。用它来做我的项目。因此,我当然缺乏许多理解,答案可能是微不足道的。

我有一个ManyToMany关系。我很难提出一个类比,但在“主要”方面,我们有一个包含一个或多个项目的容器。在我看来,这些项目不是“真实的”事物,而是更像是“模板”,并且模板是唯一的。这就是背景。

业务规则是仅在容器端进行更改并启动。因此,表格显示了一个容器及其物品。用户可以更改其中一项。 如果容器中的某个项目发生更改,则该项目实例(数据库中的行)一定不能更改,如上所述,它是许多其他容器中使用的模板。因此,逻辑上必须是:如果用户更改了一项,则如果已经存在则进行查找,如果是,则进行查找,而不是更新当前项,而重新使用现有项。如果不存在,请创建一个新的并使用它。但是在任何情况下都不应更改现有的。

如何以及在何处(在哪个级别)实现这一目标?我真的很想将其保留在模型本身之外(因此不要覆盖模型的save方法),但可以在某种类型的服务类中进行。

1 个答案:

答案 0 :(得分:0)

这并不是一个真正的答案,但看来django是如何在模型save()方法中做到这一点的,才是正确的方法。

相关问题