Chcę dokonać wyszukiwania, ale muszę przynieść rejestry, które mają status anulowany lub zmodyfikowany.

Myślałem, że to zadziałało, ale to nie

citasotras = citas_agendarcita.objects.filter(cita_agendar_status="Modificada" or "",citas_tipodepaciente="mediexcel")
1
GioBot 30 listopad 2013, 23:09

2 odpowiedzi

Najlepsza odpowiedź

W przykładzie, wyrażenie "Modificada" or "" ocenia "Modificada".

>>> "Modificada" or ""
'Modificada'

Dlatego twój przykład jest tak, jakbyś po prostu miał:

citasotras = citas_agendarcita.objects.filter(cita_agendar_status="Modificada", citas_tipodepaciente="mediexcel")

Chcesz jakieś obiekty, w których cita_agendar_status jest równe dowolnej z elementów na liście {X1}}. Możesz użyć __in, aby to zrobić:

citasotras = citas_agendarcita.objects.filter(cita_agendar_status__in=["Modificada", ""] ,citas_tipodepaciente="mediexcel")

Zobacz Dystans Django Więcej informacji.

4
Alasdair 30 listopad 2013, 22:15

I / lub warunki q obiekty Może być używany:

citas_agendarcita.objects.filter(Q(cita_agendar_status="Modificada")|Q(cita_agendar_status=""), \                               
                                 citas_tipodepaciente="mediexcel")
1
Ashwini Chaudhary 2 grudzień 2013, 18:11