Django admin: фильтр по минимальному и максимальному значению
Я хотел бы добавить фильтр в мою админку Django для фильтрации на основе плавающей точки с диапазоном в [0, 1]
.
Рассмотрим следующую модель:
class Color(models.Model):
label = models.CharField(max_length=255, unique=True)
confidence = models.FloatField(null=True)
Значение confidence всегда находится между 0
и 1
.
Я нашел довольно простой способ добавить фильтр, основанный на атрибуте label
:
class AnnotationAdmin(admin.ModelAdmin):
list_filter = (
("color__label", custom_titled_filter('Color')),
# ("color__confidence", custom_titled_filter('Color Confidence')),
)
Как добавить фильтр для выбора максимального и минимального значения достоверности цвета? Например, выбрать все цвета с доверием между 0.5
и 0.6
.
На данный момент единственное решение, которое я нашел, это создать два разных класса фильтров, расширяющих admin.SimpleListFilter
, и использовать один для выбора максимума, а другой для выбора минимума. Есть ли что-нибудь более простое, возможно поддерживаемое django из коробки?