Heim > Backend-Entwicklung > Python-Tutorial > Wie filtere ich Django-Abfrageobjekte nach Datumsbereich?

Wie filtere ich Django-Abfrageobjekte nach Datumsbereich?

Patricia Arquette
Freigeben: 2024-11-04 00:27:03
Original
389 Leute haben es durchsucht

How to Filter Django Query Objects by Date Range?

Django-Abfrageobjekte nach Datumsbereich filtern

Bei der Arbeit mit Django-Modellen ist das Filtern von Abfrageobjekten nach Datumsbereich eine häufige Aufgabe. Um dies zu erreichen, können Sie die integrierte Datumsbereichsfunktion von Django nutzen.

Betrachten wir ein Modell, das dem in der Frage erwähnten ähnelt:

<code class="python">class Sample(models.Model):
    date = fields.DateField(auto_now=False)</code>
Nach dem Login kopieren

Angenommen, Sie müssen Objekte filtern, die in einen bestimmten Datumsbereich fallen, beispielsweise solche mit Daten zwischen dem 1. Januar 2011 und dem 31. Januar 2011. So können Sie das machen:

<code class="python">Sample.objects.filter(date__range=["2011-01-01", "2011-01-31"])</code>
Nach dem Login kopieren

Diese Abfrage verwendet die __range-Suche, um das Datum anzugeben Bereich, in den das Datumsfeld der Beispielobjekte fallen sollte.

Alternativ können Sie, wenn Sie Objekte monatlich filtern möchten, die folgende Syntax verwenden:

<code class="python">Sample.objects.filter(date__year='2011', date__month='01')</code>
Nach dem Login kopieren

Diese Abfrage filtert alle Objekte mit Datumsangaben im Januar 2011.

Ausgenommen Bereichsenden

Beachten Sie, dass die obigen Abfragen die Bereichsenden (d. h. 1. Januar und 31. Januar 2011) umfassen erstes Beispiel). Wenn Sie diese Bereichsenden ausschließen müssen, können Sie die Suchvorgänge __gt (größer als) und __lt (kleiner als) verwenden, wie von Bernhard Vallant in der Bearbeitung der Antwort vorgeschlagen:

<code class="python">Sample.objects.filter(date__gt="2011-01-01", date__lt="2011-01-31")</code>
Nach dem Login kopieren

Diese Abfrage filtert alle Objekte mit Datumsangaben nach dem 1. Januar 2011 und vor dem 31. Januar 2011, mit Ausnahme der Bereichsenden.

Das obige ist der detaillierte Inhalt vonWie filtere ich Django-Abfrageobjekte nach Datumsbereich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage