【问题标题】:How to remove Extra dots from Django-filters?如何从 Django 过滤器中删除多余的点?
【发布时间】:2021-02-28 08:16:44
【问题描述】:

我正在使用 django-filters 过滤数据,但我在我的下拉列表中得到了一个额外的 dots,请告诉我如何从我的下拉过滤器中删除多余的点,我想在那里提供 lable但我无法做到这一点,请检查我的代码并告诉我如何解决这个问题。

这是我的filters.py 文件...

class MyFilter(django_filters.FilterSet):

    type = django_filters.ChoiceFilter(choices=Data_TYPE, field_name='data_type')
    class Meta:
        model = Project
        fields = ['category', 'type', 'project_details__possession']

这是我的test.html 文件,我在下拉列表中显示过滤器...

<form method="GET" action="">
    <div class="dropdown bootstrap-select hero__form-input form-control custom-select">
        {% render_field projectlist.form.category|attr:"type:select" class="hero__form-input form-control custom-select" onchange="this.form.submit()" %}
    </div>
   <div class="dropdown bootstrap-select hero__form-input form-control custom-select">
        {% render_field projectlist.form.type|attr:"type:select" class="hero__form-input form-control custom-select" onchange="this.form.submit()" %}
    </div>
   <div class="dropdown bootstrap-select hero__form-input form-control custom-select">
        {% render_field projectlist.form.project_details__possession|attr:"type:select" class="hero__form-input form-control custom-select" onchange="this.form.submit()" %}
    </div>
</form>

这是图像,我想删除dots,我想用过滤器替换lable... 请检查此https://prnt.sc/vkif04

【问题讨论】:

    标签: python django django-models django-templates django-filter


    【解决方案1】:

    可以使用empty_label参数设置值

    class MyFilter(django_filters.FilterSet):
        type = django_filters.ChoiceFilter(
            choices=Data_TYPE,
            field_name='data_type',
            empty_label="Any string you want to put"
        )
    
        class Meta:
            model = Project
            fields = ['category', 'type']

    【讨论】:

    • 它工作完美...但是我如何使用related model 字段来做到这一点,我用project_details__possession 更新了我的问题...其中project_details 是相关的型号名称,possession 是相关模型的字段名称...请让我知道我该怎么做project_details__possession
    • 我不确定,因为它是一个相关领域。最好你问一个新问题。顺便说一句,如果您觉得这对您有帮助,请接受并投票赞成这个答案。
    猜你喜欢
    • 1970-01-01
    • 2011-06-06
    • 2015-11-09
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多