Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除表单文件标签中的django筛选器附加关键字_Django_Django Filters - Fatal编程技术网

如何删除表单文件标签中的django筛选器附加关键字

如何删除表单文件标签中的django筛选器附加关键字,django,django-filters,Django,Django Filters,在筛选器中自定义搜索类型时: django_filters.CharFilter(lookup_expr='icontains') 它将“[field_name]contains”关键字添加到模板{{field.label}中显示标签的末尾。我在模型中特别使用了verbose\u name='Some field'参数,以使其在模板中可访问,但过滤器出于无法解释的原因对其进行了修改。 当我在versbose_name中设置它时,是否有显示它的选项 UPD: 已解决此问题,请将其添加到setti

在筛选器中自定义搜索类型时:

django_filters.CharFilter(lookup_expr='icontains')
它将“[field_name]contains”关键字添加到模板
{{field.label}
中显示标签的末尾。我在模型中特别使用了
verbose\u name='Some field'
参数,以使其在模板中可访问,但过滤器出于无法解释的原因对其进行了修改。 当我在versbose_name中设置它时,是否有显示它的选项

UPD: 已解决此问题,请将其添加到settings.py

 def FILTERS_VERBOSE_LOOKUPS():
    from django_filters.conf import DEFAULTS

    verbose_lookups = DEFAULTS['VERBOSE_LOOKUPS'].copy()
    verbose_lookups.update({
        'exact': (''),
        'iexact': (''),
        'contains': (''),
        'icontains': (''),
    })
    return verbose_lookups

您可以将
label
参数添加到过滤器中,以明确设置字段的标签:

django_filters.CharFilter(lookup_expr='icontains', label='the label')


此外,如果您不喜欢django filters创建其过滤器的方式,可以使用
filters\u VERBOSE\u LOOKUPS
设置()。我还没有测试过它,但它说你可以将它设置为
False
来禁用此行为-你可能想试试这个。

很好,谢谢,这正是我想要的。通过过滤器\u详细\u查找解决了此问题。