如何在django模型中按两个字段过滤数据?

问题描述 投票:0回答:1

这里是查询集,我想通过两个 django 字段进行过滤。

#models.py
class ExmapleModel(models.Model):
    first_field = models.IntegerFiled()
    second_field = models.IntegerField()

这里的观点

#views.py
class ExampleApiView(ListAPIView):
    queryset = ExmapleModel.objects.all()
    serializer_class = ExmapleModelrSerializer
    permission_classes = (AllowAny,)

    def get_queryset(self):
        qs = super().get_queryset()
        ...
        if condition:
            return qs.filter(lambda item: item.first_field < item.second_field)
        return qs

我试过这样过滤,当然不行

qs.filter(lambda item: item.first_field < item.second_field)
django django-rest-framework django-orm
1个回答
1
投票
from django.db.models import F

qs.filter(first_field__lt=F('second_field'))
© www.soinside.com 2019 - 2024. All rights reserved.