Как позволить пользователю выбирать несколько вариантов при фильтрации данных с помощью django-filter?
У меня есть модель:
class Radiations(models.Model):
patient=models.ForeignKey(Patient, on_delete=CASCADE)
patient_type=models.ForeignKey(PatientType, on_delete=CASCADE, default=None)
date=models.DateField(default=datetime.date.today)
done_fractions=models.IntegerField(default=0)
base_value=models.DecimalField(max_digits=10, decimal_places=2, blank=True, default=None)
expected_value=models.DecimalField(max_digits=10, decimal_places=2, blank=True, default=None)
remarks=models.TextField(max_length=500, blank=True, default=None)
radiations_date=models.DateTimeField(auto_now_add=True)
modified_on=models.DateTimeField(auto_now=True)
Их фильтр выглядит следующим образом:
class RadiationsFilters(django_filters.FilterSet):
patient__name=django_filters.CharFilter(lookup_expr='icontains', label='Name')
from_date=django_filters.DateFilter(widget=forms.DateInput(attrs={'type': 'date'}), field_name='date', label='From - Date ', lookup_expr='gte')
to_date=django_filters.DateFilter(widget=forms.DateInput(attrs={'type': 'date'}), field_name='date', label='To - Date ', lookup_expr='lte')
Теперь я хочу, чтобы пользователь мог выбрать несколько пациентов, которые сохранены в базе данных, как я могу внести их в мой код фильтра? Кто-нибудь, пожалуйста, помогите. Заранее спасибо.
Просто добавьте новое поле фильтра, например:
patients = django_filters.ModelMultipleChoiceFilter(
queryset=Patient.objects.all()
)