数据库设计中的项目编辑请求

时间:2018-09-07 19:40:10

标签: sql django database

我正在Django中开发简单的CRUD应用程序。该应用程序允许用户管理项目列表。假设数据库中的单个项目由以下字段组成:

  • ID
  • 名称
  • 类型
  • 说明
  • 分配给(worker_id)

除了有两种用户外,还有经理和工作人员。管理员可以自由查看/添加/编辑/删除/分配所有项目。工作人员可以看到所有项目,但是任何更改(添加/编辑/未分配)都需要管理员接受。

这是问题所在。我想知道什么是实现此要求的最佳方法。我想出了一个简单的“票证”系统-每次工作人员发送编辑请求时,都会创建票证,以后可以由经理审查。票证将是具有以下字段的简单对象:

  • 类型(添加,编辑,取消分配)
  • 新商品ID(如果进行添加,编辑操作)
  • 旧商品ID(在进行编辑操作的情况下)

与票证一起,将创建新项目(进行所有更改并将附加的is_active字段设置为False)。当经理接受票证时,将发生以下情况:

  • 添加操作-is_active设置为True
  • 编辑操作-将新项目中的所有字段重写为旧项目,并删除新项目
  • 取消分配操作-Assigned_to字段设置为Null

让我担心的部分是编辑操作。重写所有字段似乎是一种骇人听闻/肮脏的方式(特别是如果我想向Item添加m2m关系)。你有更好的主意吗?

0 个答案:

没有答案