Django rest框架,查询用户的嵌套数据

时间:2020-07-19 09:05:10

标签: django django-rest-framework django-users drf-queryset

我的API中有一个与另一个与用户有关的模型。

class User(AbstractUser):
    pass


class ModelA(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE,related_name='model_a')


class ModelB(models.Model):
    model_a = models.ForeignKey(ModelA)

我想知道是否有一种方法可以根据用户在视图的查询集中返回ModelA。

class PastureYearsView(ModelViewSet):
    authentication_classes = (TokenAuthentication,)
    permission_classes = (IsAuthenticated,)

    def get_queryset(self):
        return ModelB.objects.filter(model_a=self.request.user # how to get model a associated with user here)

我尝试使用与预取相关的内容:

return ModelB.objects.filter(model_a=self.request.user.prefetch_related('model_a'))

但是失败了:

'CustomUser' object has no attribute 'prefetch_related'

0 个答案:

没有答案