【问题标题】:django_filters custom method field namedjango_filters 自定义方法字段名
【发布时间】:2019-06-01 09:30:24
【问题描述】:

当我运行此代码时,我在 django rest-framework 视图的过滤器弹出窗口中得到 [invalid name]:

我想改为显示名称“find”。 如何设置此名称?

class MyModelFilter(filters.FilterSet):
    search_name = filters.CharFilter(field_name='name', lookup_expr='icontains')
    find_anywhere = filters.CharFilter(method='look_anywhere')

    def look_anywhere(self, queryset, name, value):
        return queryset.filter(Q(name__icontains=value) | Q(description__icontains=value))

    class Meta:
        model = MyModel
        fields = {'search', 'find_anywhere'}

打电话时

/api/mymodels/?find_anywhere=something

它工作正常。

这只是 DRF 视图中过滤器的名称:

【问题讨论】:

    标签: django django-rest-framework django-filter


    【解决方案1】:
    search_name = filters.CharFilter(field_name='name', lookup_expr='icontains', label="Put Label Here")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-24
      • 2020-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-23
      • 1970-01-01
      • 2021-04-18
      相关资源
      最近更新 更多