【发布时间】:2021-04-17 06:45:40
【问题描述】:
你好我想问一下如何过滤对象的所有分配的ForeignKeys。我的模型看起来像:
class Person(models.Model):
name = models.CharField(max_length=250)
class VirtualProject(models.Model):
project_name = models.CharField(max_length=250)
owner = models.ForeignKey(Person)
class Hours(models.Model):
hours = models.FloatField()
assigned_virtual_project = ForeignKey(VirtualProject)
date = models.DateField()
我正在发送带有所有者和 dateRange 参数的 GET 请求,我想过滤分配给所有者的所有虚拟项目(这没问题,我可以得到这个)并且还获取分配给虚拟项目的所有小时对象并求和指定日期范围内的所有时间。我怎么能这样做?对于前端,我使用的是 React,所以我使用的是 django rest 框架。 到目前为止我的观点:
class GetDataView(viewsets.ModelViewSet):
serializer_class = DataSerializer
def get_queryset(self):
owner = self.request.query_params.get('owner')
dateRange = self.request.query_params.get('dateRange')
queryset = VirtualProject.objects.filter(owner=owner)
return queryset
编辑:
序列化器.py:
class VirtualProjectSerializer(serializers.ModelSerializer):
class Meta:
model = VirtualProject
fields = '__all__'
【问题讨论】:
-
您希望 API 的响应包含每个
VirtualProject的所有小时数?或将所有VirtualProject匹配查询集的所有时间相加? -
我想根据所有者字段回复每个 VirtualProject 的所有时间
-
您可以在您的问题中添加 DataSerializer 代码吗? @pipikej
标签: python django django-rest-framework django-filter