我在 postgresql 中使用 Django 后端。
假设我有一个名为Employees
的数据库,其中有大约20,000条记录。
我需要允许多个用户编辑并验证Area Code
中每条记录的Employees
字段。
我更愿意让用户一次查看30条记录(以减少倦怠)。
如何从Employees
一次选择30条记录发送到前端用户界面进行编辑,如何不让多个用户编辑相同的记录,或者重新选择已经记录的记录验证
我不需要对数据库的内容发表评论(这些是示例表和字段名称)。
答案 0 :(得分:0)
执行此操作的一种方法是在表格中添加另外两个字段,例如assigned_to
和verified
。当您允许用户查看该员工时,您可以更新assigned_to
,它可以是验证用户的外键。这将创建一个记录,阻止Employee被选中两次。 assigned_to
也可以作为谁验证此员工以供将来参考的记录加倍。
verified
可以只是一个布尔字段,可以跟踪员工是否已经过验证,并且可以在用户确认验证时进行更新
实际选择可以这样做:
employees = Employee.objects.filter(assigned_to=None, verified=False)[:30]
然后
for emp in employees:
emp.assigned_to = user
emp.save()
注意:如果2个用户在同一时间发出此请求,则仍可能导致竞争条件。为避免这种情况,另一种可能性是将员工表分组为每个用户没有重叠的组。这将确保没有2个用户拥有相同的员工