【发布时间】:2020-04-29 07:19:11
【问题描述】:
我有三个模型:House、Resident、Car。
每所房子都有许多居民(一对多)。每个居民有 0 或 1 辆汽车(一对一)。
对于我的前端,我想显示一所房子里所有有车的居民。
Django Rest Framework 建议使用过滤,但这仅适用于顶层。比如我的HouseDetailView(generics.RetrieveAPIView),只能修改House模型本身的queryset。我希望能够修改 Resident (resident_queryset.exclude(car=None)) 的查询集。
class HouseDetailView(generics.RetrieveAPIView):
queryset = House.objects.all()
serializer_class = HouseSerializer
我可以/应该在一个请求中完成这一切吗? 查询参数是我唯一的过滤方式吗?
【问题讨论】:
-
你能分享你的models.py吗
-
House 与 House 有
name,Resident 与 House 有name和ForeignKey,Car 与 Resident 有name和OneToOne关系。
标签: django django-rest-framework django-filter serialization