我有一个项目模型
class Project(models.Model)
name = models.CharField(max_length=255)
members = models.ManyToManyField(User, related_name="members")
我使用一个基于类的更新视图来限制那些属于项目成员的用户.
class ProjectUpdateView(LoginRequiredMixin, UserPassesTestMixin, UpdateView):
model = Project
fields = ["name"]
def test_func(self):
members = self.get_object().members.all()
if members.contains(self.request.user):
return True
return False
在通过Djang Debug工具栏查看SQL查询之后,我看到该查询重复了两次.