gpt4 book ai didi

__str__() 方法上的 Django prefetch_related

转载 作者:搜寻专家 更新时间:2023-10-30 20:08:02 24 4
gpt4 key购买 nike

我的模型:

class B(models.Model):
label = models.CharField()

class A(models.Model):
b = models.OneToOneField(B, null=True, blank=True, on_delete=models.PROTECT)

def __str__(self):
return u'[{}] Event:'.format(self.b.label)

现在,使用 Django 调试工具栏查看请求期间完成的查询,我注意到许多查询执行了 200 多次。我知道我会使用 prefetch_related 来解决,但是当在 str 方法中完成查找时,我必须把它放在哪里?

最佳答案

您的 GenericViewModelViewSet 应该有一个 queryset 属性来定义它应该在什么集合上工作。

您需要在此处添加prefetch_related/select_related

class UserList(generics.ListCreateAPIView):
queryset = User.objects.all().prefetch_related('groups')
serializer_class = UserSerializer
permission_classes = (IsAdminUser,)

关于__str__() 方法上的 Django prefetch_related,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46002123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com