Enhance CaseFilter to show distinct examination values for series, improving clarity in selection options

This commit is contained in:
Ross
2026-02-02 12:14:16 +00:00
parent 7342b11b27
commit 8911c09c0e
+6 -1
View File
@@ -2,6 +2,7 @@ import django_filters
from django import forms
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Div, Field
from collections import OrderedDict
from .models import (
Case,
@@ -98,8 +99,12 @@ class CaseFilter(django_filters.FilterSet):
author = django_filters.ModelMultipleChoiceFilter(
queryset=get_authors, null_label="No author"
)
# Show a distinct list of `Series.examination` values instead of raw Series
# entries so examinations that differ only by plane/description appear once.
series = django_filters.ModelMultipleChoiceFilter(
queryset=get_series, null_label="No series"
field_name='series__examination',
queryset=lambda request: __import__('generic.models', fromlist=['Examination']).Examination.objects.filter(atlas_series_examination__isnull=False).distinct(),
label='Examination',
)
differential_case = django_filters.ModelMultipleChoiceFilter(
label="Differential",