Максимальное значение столбца связанной модели django, где условие истинно
Модель TAssignment имеет много записей, связанных с моделью TSlot, например, для 1 пк модели TSlot есть много записей в модели TAssignment.Теперь этот запрос выводит значения из таблицы Tslot, а также последние созданные и обновленные значения из таблицы Tassignment. 'assignment_Slot__created_on' и 'assignment_Slot__updated_on' когда assignment_Slot__is_deleted=False.
ВОПРОС: Как добавить условие "assignment_Slot__is_deleted=False" вместе с 'assignment_Slot__created_on' и 'assignment_Slot__updated_on' внутри аннотации без дублирования результатов.
** assignment_Slot здесь соответствующее имя
TSlot.objects.filter(request__id=request_id, is_deleted=False
).values("slot_date", "type_of_work", "reason_for_less_assign", "request_id","slot", "remarks",
slot_id=F("id"), request_status=F('request__request_status')).annotate(
assigned_on=Max('assignment_Slot__created_on'), modified_on =Max('assignment_Slot__modified_on'))
Добавьте фильтр к аннотациям, см. фильтрация аннотаций
from django.db.models import Max, Q
TSlot.objects.filter(...).annotate(
assigned_on=Max('assignment_Slot__created_on', filter=Q(assignment_Slot__is_deleted=False)),
modified_on=Max('assignment_Slot__modified_on', filter=Q(assignment_Slot__is_deleted=False))
)