0

我想使用 Django 的 list_editable 功能让我的网站管理员一次快速更新一大堆项目,甚至只是快速更新单个项目。但是,此站点上有多个管理员。

我主要关心的是:如果一个管理员编辑记录 A (B, C) 而另一个管理员在同一页面上从不同的计算机编辑记录 D (E, F) 会发生什么?是在每个用户点击“保存”时提交了所有可见记录的信息,还是只提交了修改后的记录?换句话说,第二个提交者是否会覆盖第一个提交者的数据,即使他们正在编辑不同的记录?

问题不大,但我可以忍受:如果两个用户都编辑相同的记录会发生什么?我假设第二次提交将覆盖第一次,即使 Django 有一些东西可以解决我的主要问题,但是如果 Django 也能以某种方式防止这里的错误,那就太好了。

4

1 回答 1

1

Django 没有内部防碰撞系统。但是您可以使用django-reversion或破解管理员的get_changelist_forms保存表单以手​​动合并不同用户的更改(例如,如果对象不同,则将表单验证更改为失败)。

于 2012-05-10T06:58:40.567 回答