【发布时间】:2018-12-21 03:05:33
【问题描述】:
我需要做一个rest api端点,用户可以在其中使用多个get参数进行过滤,这些参数是相应模型的字段。
我得到了模型字段列表并获得了get参数值,我需要通过给定的get参数过滤所有结果
def get_queryset(self, *args, **kwargs):
query_set = models.Resident.objects.all()
fields = models.Resident._meta.get_fields()
for x in fields:
fieldValue = self.request.GET.get(x.name)
fieldName = x.name
if fieldValue is not None:
query_set.filter(**{fieldName: fieldValue})
return query_set
假设如果用户想通过 username=foo 和 email=email@meail.com 进行过滤,则查询集应该返回与这两个条件都匹配的值
【问题讨论】: