且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在姜戈过滤框架中创建部分搜索睡觉?

更新时间:2022-06-20 18:35:37

我通过如下修改我的类ContactFilter解决了问题:

import django_filters
from .models import Contact

class ContactFilter(django_filters.FilterSet):
    class Meta:
        model = Contact
        fields = {
            'first_name': ['startswith'],
            'last_name': ['startswith'],
        }
        together = ['first_name', 'last_name']

在我看来,我必须这样做:

class ContactViewSet(viewsets.ModelViewSet):
    queryset = Contact.objects.all()
    serializer_class = ContactSerializer
    filter_class = ContactFilter

我的请求URL如下所示:

http://localhost:8000/api/v1/contact/?first_name__contains=Cl&last_name__contains=Tes

但我还是想知道在Django能不能有这样的东西:

http://localhost:8000/api/v1/contacts/?first_name=Cl**&last_name=Tes**