Django 过滤器为项目列表生成过滤器

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

我想根据逗号查询参数过滤字段 vehicle_type

{{url}}/vehicles-records-info/75d9ee1b-8a03-4697-82e7-2d96ef0a8c2d/?vehicle_type=Mixer,Lorry

然而,当我打印查询时,生成的查询是

...  AND "vehicle_type" IN (M, i, x, e, r, ,, L, o, y)) 

但是查询应该是

...  AND "vehicle_type" IN ('Mixer', 'Lorry')) 

这是我的代码

过滤器

class VehicularAccessRecordInformationFilter(django_filters.FilterSet):
    vehicle_type = django_filters.CharFilter(field_name='vehicle_type', lookup_expr='in')
    start_timestamp = django_filters.DateTimeFilter(field_name='timestamp', lookup_expr='gte')
    end_timestamp = django_filters.DateTimeFilter(field_name='timestamp', lookup_expr='lte')

    class Meta:
        model = VehicleAccessRecordInformation
        fields = ['vehicle_type', 'timestamp']
    ```

django django-models django-rest-framework django-orm django-filter
© www.soinside.com 2019 - 2024. All rights reserved.