如何在具有关系的模型(Django)中实现阴影编辑(或修订)?

2024-05-15 02:04:27 发布

您现在位置:Python中文网/ 问答频道 /正文

虽然这是django+postgresql,但答案可能是通用sql,也可能来自“傻瓜数据库”一书。在

我们有一个数据库,有几个相互关联的模型(一对一、一对多和多对多字段)。我们希望允许用户对数据库进行影子编辑,只有当用户对更改满意时才发布。在

对于单个模型,我可以使用django-reversions之类的东西,并且可以用一种粗糙的方式手工处理关系。但是,这会有几个副作用:

  • 不受django控制的模型可能会更改,这将立即更新数据(无卷影副本)
  • 由于存储了外部关系,如果对其进行了大量编辑,则会变得很奇怪。在
  • 大量的工作“捕捉”CRUD操作并将它们路由到已发布或草稿条目(如果特定用户正在编辑)
  • 发布时需要修复所有关系上的PK(更多黑客标题)

我真正想要的是这样做:

  • 允许通过多次REST CRUD调用一次编辑多个相关表,并且仅在“publishing”之后更新
  • 允许回滚到以前的版本(版本控制)

有什么想法吗?在


Tags: django答案用户模型数据库编辑sql关系

热门问题