Wie filtere ich Django-Objekte nach einem Datumsbereich?

Susan Sarandon
Freigeben: 2024-11-04 12:53:29
Original
425 Leute haben es durchsucht

How to Filter Django Objects by a Date Range?

Abfrageobjekte nach Datumsbereich in Django filtern

Bei der Arbeit mit Django-Modellen, die Datumsfelder enthalten, ist es häufig erforderlich, Objekte basierend zu filtern in einem bestimmten Datumsbereich. Dadurch können Sie nur die Objekte abrufen, die in einen bestimmten Zeitraum fallen.

Problem:

Betrachten Sie das folgende Modell mit einem Datumsfeld:

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

Wie können Sie die Objekte dieses Modells filtern, um nur diejenigen mit Daten zwischen dem 1. Januar 2011 und dem 31. Januar 2011 einzuschließen?

Lösung:

Um Objekte nach einem Datumsbereich zu filtern, verwenden Sie den Bereichsfilter in Kombination mit dem Feld, das Sie filtern möchten:

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

Alternative zur monatlichen Filterung:

Wenn Sie Objekte nur nach Monat filtern müssen, können Sie die folgende Syntax verwenden:

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

Bereichsenden ausschließen:

Wenn Sie möchten Wenn Sie die angegebenen Bereichsenden ausschließen möchten, sollten Sie die Verwendung der Filter „gt“ (größer als) und „lt“ (kleiner als) in Betracht ziehen, wie von Bernhard Vallant in der Bearbeitung vorgeschlagen:

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

Das obige ist der detaillierte Inhalt vonWie filtere ich Django-Objekte nach einem 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!