【发布时间】:2020-03-12 08:07:55
【问题描述】:
注意:django 新手。用它做我的项目。所以我当然缺乏很多理解,答案可能是微不足道的。
我有一个多对多关系。我很难想出一个类比,但在“主要”方面,我们有一个包含一个或多个项目的容器。在我的情况下,这些项目不是“真实”的东西,而是更像一个“模板”,模板是独一无二的。这是背景。
业务规则是更改只发生并在容器端启动。所以表单显示了一个容器及其项目。用户可以更改其中一项。 如果容器中的项目发生更改,则项目实例(数据库中的行)不得更改,如前所述,它是许多其他容器中使用的模板。所以逻辑必须是,如果用户更改了一个项目,如果它已经存在,则进行查找,如果是,而不是更新当前项目,重用现有项目。如果它不存在,请创建一个新的并使用它。但在任何情况下都不应更改现有的。
我可以如何以及在哪里(在哪个级别)实现这一目标?我真的很想把它排除在模型本身之外(因此不会覆盖模型保存方法),而是在某种类型的服务类中进行。
【问题讨论】:
-
请给我们看一些代码!
-
还没有任何代码。所以这更像是一个设计问题,而不是实际的代码问题。
标签: django business-rules