首页 > 解决方案 > 将一个 Django 模型中的数据更改推送到另一个模型

问题描述

我编写了一个具有变更控制工作流程的应用程序。用户检索特定月份的数据,然后对其进行编辑,并且有一个审核阶段,他们可以在其中批准记录。有 2 个相同的表,一个主表和一个临时表。当用户加载应用程序时,他们从主表加载数据,并可以在 crud 网格中对其进行编辑。当他们点击阶段按钮时,我希望将数据推送到暂存表中。我如何告诉我的观点来做到这一点。暂存表还没有关联的记录,我希望作为推送的一部分发回的记录插入那里而不是更新主表?

任何建议将不胜感激。

标签: djangopython-3.xdjango-modelsdjango-rest-frameworkdjango-views

解决方案


您可以在主表中添加新字段名称可以是状态,该表在暂存过程中显示此记录。

例如:您将新记录插入到主表中,因此状态的初始值为 1(new_created)。

当您要处理主表记录时,您必须将状态更改为 2 (in_staging),这表明已经在暂存过程中的记录无法进一步处理。使用新字段可以轻松管理您的流程,并且您可以检查在给定时间有多少记录处于暂存流程中。当您存储主记录时,您可以检查哪些字段已更改或未在表单中。

保存状态为 2 的主记录并复制主记录并将它们保存到临时表中。

之后,当您的暂存完成后,您可以使用相同的过程来保存您的对象。


推荐阅读