SS
return queryset.filter(path=path).first()
else:
return queryset.filter(path='*').first()
или
obj = queryset.filter(path=path).first()
if not obj:
obj = queryset.filter(path='*').first()
return obj
Size: a a a
SS
S
DT
A
Д
A
S
Д
Д
S
S
DT
class Subscribe:
doctor = ...
patient = ...
subscribe_status = ...
created = ...
class TreatmentRequest:
doctor = ...
patient = ...
treatment_status
TreatmentRequests
у которых определенный treatment_status
и последняя созданная Subscribe
с такими же doctor
и patient
как и у него имеет определенный subscribe_status
last_subscribe = Subscribe.objects.filter(doctor=OuterRef('doctor'), patient=OuterRef('patient')).latest('created').values('subscribe_status')
treatment_requests = TreatmentRequest.objects.filter(treatment_status=TreatmentStatus.OPENED.value).annotate(
last_subscribe_status=Subquery(last_subscribe)
).filter(last_subscribe_status=SubscribeStatus.CLOSED.value)
S
Т
Y
G
version 3.12.4
ВЮ
AK
DT
class Subscribe:
doctor = ...
patient = ...
subscribe_status = ...
created = ...
class TreatmentRequest:
doctor = ...
patient = ...
treatment_status
TreatmentRequests
у которых определенный treatment_status
и последняя созданная Subscribe
с такими же doctor
и patient
как и у него имеет определенный subscribe_status
last_subscribe = Subscribe.objects.filter(doctor=OuterRef('doctor'), patient=OuterRef('patient')).latest('created').values('subscribe_status')
treatment_requests = TreatmentRequest.objects.filter(treatment_status=TreatmentStatus.OPENED.value).annotate(
last_subscribe_status=Subquery(last_subscribe)
).filter(last_subscribe_status=SubscribeStatus.CLOSED.value)
last_subscribe = Subscribe.objects.filter(doctor=OuterRef('doctor'), patient=OuterRef('patient')).order_by(
'-created').values('subscribe_status')[:1]
treatment_requests = TreatmentRequest.objects.filter(treatment_status=TreatmentStatus.OPENED.value).annotate(
last_subscribe_status=Subquery(last_subscribe)
).filter(last_subscribe_status=SubscribeStatus.CLOSED.value)
АТ