Ich muss einen Filter für ein Objekt erstellen, die Datumsbereiche überprüft. Im Moment mache ich eine sehr ineffiziente Schleife, die alle Objekte überprüft. Ich möchte dies zu einem Datenbankaufruf vereinfachen.Django komplexen Abfragen
Die Logik ist, Sie haben ein start
und ein end
Datum Objekte. Ich muss überprüfen, ob der Anfang ODER das Ende innerhalb der Reichweite eines Termins ist.
if (start >= appointment.start && start < appointment.end) ||
(end > appointment.start && end <= appointment.end)
Ich könnte dies in SQL, aber ich bin nicht so vertraut mit der Django-Modellstruktur für komplexere Abfragen.
Im ersten Beispiel verwenden Sie 'start_date' und' end_date'? –
Sorry Josh! Das erste Beispiel stammt direkt aus der Dokumentation, und dann habe ich in einem späteren Update Ihre spezifischen Variablen übernommen :) Ich werde diese entfernen –