DateField ist ein Feld, in dem das Datum gespeichert wird, das in Python durch eine datetime.dateInstanz 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 - fromdatetime.date.today()
    • Für DateTimeField: default = timezone.now - fromdjango.utils.timezone.now()

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 geeksforgeekseiner 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.pyDatei der Geeks App ein.

from django.db import models 
from django.db.models import Model 
  
class GeeksModel(Model): 
    geeks_field = models.DateField()