From 7ca3c3ae08666bd2aeb2580410832efdee4ab7a5 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 12 Feb 2025 14:35:55 +0100 Subject: 🐛 archaeological files forms: fix preventive formset equipment service (refs #6173) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- archaeological_files/forms.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py index fe01c0c21..b14147dc0 100644 --- a/archaeological_files/forms.py +++ b/archaeological_files/forms.py @@ -27,6 +27,7 @@ from bootstrap_datepicker.widgets import DateField from django import forms from django.conf import settings from django.core import validators +from django.db.models import Q from django.forms.formsets import formset_factory from django.utils.functional import lazy from django.utils.safestring import mark_safe @@ -1072,9 +1073,13 @@ class PreventiveFileEquipmentServiceBaseFormSet(FileBaseFormset): queryset = super( PreventiveFileEquipmentServiceBaseFormSet, self ).get_base_queryset() - queryset = queryset.filter( - equipment_service_cost__equipment_service_type__generic_equipment_type__txt_idx=self.type_filter + q = Q( + equipment_service_cost__equipment_service_type__generic_equipment_type__txt_idx=self.type_filter, + equipment_service_cost__parent__isnull=True + ) | Q( + equipment_service_cost__parent__generic_equipment_type__txt_idx=self.type_filter ) + queryset = queryset.filter(q).order_by() return queryset -- cgit v1.2.3