필터링과 AllValuesFilter은 "모든"필터 옵션을 추가 대다 필드와 LinkWidget
를 통해이 표시, 난과 등의 All
필터 옵션을하지 않는 장고 관리 list_filter
.장고 - 필터 :상의 <code>AllValuesFilter</code>으로 <a href="https://github.com/carltongibson/django-filter" rel="nofollow noreferrer">django-filter</a>와 LinkWidget
내가 Add Any & None Handling to ChoiceFilter (and subclasses) 및 기타 다양한 관련 문제를 발견했습니다,하지만 난 솔루션을 얻을하지 않습니다 ...이 특정한 경우
, 나는 장고 WagtailPage
모델 카테고리를 필터링하고있어
# models.py
# wagtail imports
# ...
# modelcluster imports, eg.
# from modelcluster.fields import ParentalKey, ParentalManyToManyField
class CategoryRegion(models.Model):
title = models.CharField(max_length=200,)
class NewsPage(Page):
categories_region = ParentalManyToManyField(
"core.CategoryRegion",
blank=True,
)
-
# filters.py
import django_filters
from django_filters.widgets import LinkWidget
class NewsFilter(django_filters.FilterSet):
categories_region = django_filters.AllValuesFilter(
name="categories_region__title",
label="Categories: Region",
widget=LinkWidget(),
)
class Meta:
model = NewsPage
fields = ['categories_region',]
어떤 힌트가?
나는 평범한'ManyToManyField'보다는'ParentalManyToManyField'를 사용하여 새로운 (비 할미새) 프로젝트에이를 복제하려고 좋을 것. Modelcluster의 필드 유형은 애매하고 완전히 안정되지 않은 Django 내부 구조에 의존하기 때문에 Modelcluster의 단점을 비난 할 것인지, 아니면 이것이 순수한'장고 필터 (django-filter) '문제인지 여부를 판단하는 데 도움이 될 것입니다. ,하지만 잘하면 다른 사람이 ...) – gasman
좋아, 나는 그것을 시도합니다. 흥미롭게도이 페이지 모델에서'ModelAdmin'을 연결하고'categories_region'을'list_filter'로 설정하면이'ModelAdmin'에'All' 옵션이 생깁니다. – tombreit