如何从 Django 过滤器中删除多余的点?

Posted

技术标签:

【中文标题】如何从 Django 过滤器中删除多余的点?【英文标题】:How to remove Extra dots from Django-filters? 【发布时间】: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

【问题讨论】:

【参考方案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 我不确定,因为它是一个相关领域。最好你问一个新问题。顺便说一句,如果您觉得这对您有帮助,请接受并投票赞成这个答案。

以上是关于如何从 Django 过滤器中删除多余的点?的主要内容,如果未能解决你的问题,请参考以下文章

django模板:过滤后的点

如何从网络摄像头 OpenCV 裁剪圆形图像并删除背景

如何从 django 管理面板中删除多余的“s”?

Django:从查询集中删除过滤条件

如何从 Django 中的过滤器访问数据

如何自动移除靠近视点的多余表面块