我的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'