DateField - Django Modelle
DateField ist ein Feld, in dem das Datum gespeichert wird, das in Python durch eine datetime.date
Instanz dargestellt wird. Wie der Name schon sagt, wird in diesem Feld ein in Python erstelltes Datumsobjekt gespeichert. Das Standardformular-Widget für dieses Feld ist a TextInput
. Der Administrator kann explizit einen JavaScript-Kalender und eine Verknüpfung für "Heute" hinzufügen.
Syntax
field_name = models.DateField ( ** Optionen )
DateField verfügt über die folgenden zusätzlichen optionalen Argumente:
-
DateField.auto_now
Setzen Sie das Feld bei jedem Speichern des Objekts automatisch auf jetzt. Nützlich für "zuletzt geänderte" Zeitstempel. Beachten Sie, dass immer das aktuelle Datum verwendet wird. Es ist nicht nur ein Standardwert, den Sie überschreiben können.
Das Feld wird nur beim Aufruf von Model.save() automatisch aktualisiert . Das Feld wird nicht aktualisiert, wenn andere Felder auf andere Weise aktualisiert werden, z. B. QuerySet.update() . Sie können jedoch in einem solchen Update einen benutzerdefinierten Wert für das Feld angeben. -
DateField.auto_now_add
Setzen Sie das Feld automatisch auf jetzt, wenn das Objekt zum ersten Mal erstellt wird. Nützlich zum Erstellen von Zeitstempeln. Beachten Sie, dass immer das aktuelle Datum verwendet wird. Es ist nicht nur ein Standardwert, den Sie überschreiben können. Selbst wenn Sie beim Erstellen des Objekts einen Wert für dieses Feld festlegen, wird dieser ignoriert. Wenn Sie dieses Feld ändern möchten, setzen Sie anstelle von auto_now_add = True Folgendes:
- Für DateField: default = date.today - from
datetime.date.today()
- Für DateTimeField: default = timezone.now - from
django.utils.timezone.now()
- Für DateField: default = date.today - from
Hinweis: Die Optionen auto_now_add, auto_now und default schließen sich gegenseitig aus. Jede Kombination dieser Optionen führt zu einem Fehler.
Django Model DateField Erklärung
Abbildung von DateField anhand eines Beispiels. Stellen Sie sich ein Projekt mit dem Namen geeksforgeeks
einer App vor geeks
.
In den folgenden Artikeln erfahren Sie, wie Sie ein Projekt und eine App in Django erstellen.
Geben Sie den folgenden Code in die models.py
Datei der Geeks App ein.
from
django.db
import
models
from
django.db.models
import
Model
class
GeeksModel(Model):
geeks_field
=
models.DateField()