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

django: ManyToMany: Updating and Insert Business rules

注意:django 的新手。用它做我的项目。所以我当然缺乏很多理解,答案可能是微不足道的。

我有一个多对多关系。我很难想出一个类比,但在 "main" 方面,我们有一个包含一个或多个项目的容器。在我的例子中,这些项目不是 "real" 东西,而是更像是 "template" 并且模板是唯一的。这是背景。

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

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

不是真正的答案,但似乎 django 如何在模型中执行此操作 save() 方法是正确的方法。