[英]Django filter OrderingFilter default choice
我用 django 過濾器創建了一個排序過濾器,我一直想知道如何設置默認選項並刪除空選項。
class MyFilter(django_filters.FilterSet):
name = django_filters.CharFilter(lookup_expr='icontains')
o = django_filters.OrderingFilter(
choices=(
("created", _("Created, old to new")),
("-created", _("Created, new to old"))
),
fields = (
"created", "created"
)
)
您可以通過指定該字段是必需的來省略空標簽,因此:
class MyFilter(django_filters.FilterSet):
name = django_filters.CharFilter(lookup_expr='icontains')
o = django_filters.OrderingFilter(
choices=(
('created', _('Created, old to new')),
('-created', _('Created, new to old'))
),
fields = (
'created', 'created'
),
required=True
)
修復方法是通過將 empty_label 和 null_label 設置為 None 來禁用空選項。 這是第一個選項是默認選項。 請注意,第一個選項應該與查詢集的默認順序一致,以便在加載頁面而不使用過濾器時匹配。
class MyFilter(django_filters.FilterSet):
name = django_filters.CharFilter(lookup_expr='icontains')
o = django_filters.OrderingFilter(
choices=(
('created', _('Created, old to new')),
('-created', _('Created, new to old'))
),
fields = (
'created', 'created'
),
empty_label = None,
null_label = None
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.