Django

Verwendung des Standardwerts NULL im Django-Modell

Verwendung des Standardwerts NULL im Django-Modell
Model ist einer der wesentlichen Teile der datenbankbasierten Django-Anwendung. Das Modell definiert die Struktur der Datenbank. Der Datentyp der Datenbanktabelle und die Art des Einfügens von Daten basierend auf verschiedenen Attributen sind im Modell in beschrieben. Die Datenvalidierung kann auch über das Modell gesteuert werden. Jede Tabelle in der Datenbank enthält eine bestimmte Anzahl von Feldern oder Spalten. Das Modell definiert den Typ jedes Feldes der Tabelle. Das Standardattribut wird im Modell verwendet, um einen Standardwert für einen bestimmten Bereich festzulegen, wenn der Benutzer für dieses Feld keine Daten eingibt. Der Standardwert eines Felds kann sein leer oder ein bestimmter Wert. Das Null und leer Werte sind nicht gleich. Null wird verwendet, um zu definieren, ob der leere Wert für ein bestimmtes Feld zulässig ist oder nicht. Wenn die Null ist eingestellt auf Falsch, dann ist die leere Zeichenfolge im ganzzahligen Feld nicht zulässig, aber die leere Zeichenfolge kann im Zeichenfolgenfeld zugewiesen werden. Wenn die Null ist eingestellt auf Wahr, dann wird der NULL-Wert im ganzzahligen Feld anstelle einer leeren Zeichenfolge angegeben. blank wird hauptsächlich für die Formularvalidierung verwendet und überprüft nicht den Datentyp des Felds. Die Art der Verwendung Standard und Null Attribute im Django-Modell hat dieses Tutorial gezeigt.

Voraussetzungen:

Bevor Sie das Skript dieses Tutorials üben, müssen Sie die folgenden Aufgaben ausführen.

EIN. Installieren Sie die Django-Version 3+ auf Ubuntu 20+ (vorzugsweise)
B. Erstellen Sie ein Django-Projekt
C. Führen Sie den Django-Server aus, um zu überprüfen, ob der Server richtig funktioniert oder nicht.

Richten Sie eine Django-App ein:

EIN. Führen Sie den folgenden Befehl aus, um eine Django-App namens zu erstellen Datenbankapp.

$ python3 verwalten.py startapp databaseapp

B. Führen Sie den folgenden Befehl aus, um den Benutzer für den Zugriff auf die Django-Datenbank zu erstellen. Wenn Sie den Benutzer zuvor abgeschlossen haben, müssen Sie den Befehl nicht ausführen.

$ python3 verwalten.py erstelltsuperuser

C. Fügen Sie den App-Namen im . hinzu INSTALLED_APP Teil der Einstellungen.py-Datei.

INSTALLED_APPS = [

'validierungsapp'
]

D. Erstellen Sie einen Ordner mit dem Namen Vorlagen innerhalb der Datenbankapp Ordner und legen Sie die Vorlage Standort der App im VORLAGEN Teil von dem die Einstellungen.py Datei.

VORLAGEN = [

… .
'DIRS': ['/home/fahmida/django_pro/databaseapp/templates'],
… .
,
]

Designmodell mit Standard- und Nullattributen:

Modifiziere den Modelle.py Datei mit dem folgenden Skript, um eine Tabelle namens . zu erstellen Produkte das enthält vier Felder ohne das ID-Feld. Diese Namen, Preis, Herstellungsdatum und Ablaufdatum. Der Wert der Null Attribut ist für alle Felder auf True gesetzt. Der Wert von der Rohling Attribut ist auch für alle Felder auf True gesetzt. Das bedeutet, dass der Benutzer die Felder leer lassen kann, bevor er das Formular abschickt, das dieses Modell verwendet. Das Standard Der Attributwert wird für den Preis, das Herstellungsdatum und das Ablaufdatum festgelegt.

Modelle.py

# Modul Importieren von Modellen
von django.DB-Importmodelle
# Klasse erstellen, um die Struktur der Lehrertabelle zu definieren
Klasse Produkt (Modelle).Modell):
Name = Modelle.CharField(max_length=50, null=Wahr, leer=Wahr)
Preis = Modelle.IntegerField(null=Wahr, default=", blank=Wahr)
Herstellungsdatum = Modelle.DateField(null=True, default='0000-00-00', blank=True)
Ablaufdatum = Modelle.DateField(null=True, default='0000-00-00', blank=True)

Führen Sie die folgenden Migrationsbefehle aus, um die erforderlichen Migrationsdateien und die Datenbanktabelle der SQLite-Datenbank zu erstellen.

$ python3 verwalten.py makemigrations Datenbankapp
$ python3 verwalten.py migrieren

Einfügen von Daten über das Django Administration Dashboard:

Ändern Sie den Inhalt von der Administrator.py Datei mit dem folgenden Skript, um das Modell in der Datenbank zu registrieren.

Administrator.py
Modifiziere den URLs.py Datei mit dem folgenden Skript, um den Pfad zum Öffnen des Django-Verwaltungs-Dashboards zu definieren.

URLs.py

# Admin-Modul importieren
von django.contrib import admin
# Pfadmodul importieren
von django.URL-Importpfad
# Pfad für Kunde und Admin definieren
URLmuster = [
path('admin/', admin.Seite? ˅.URLs)
]

Führen Sie nun den Django-Server aus und rufen Sie das Django-Verwaltungs-Dashboard auf, indem Sie die folgende URL verwenden.

http://localhist:8000/admin

Öffnen Sie das Produkteingabeformular, indem Sie auf klicken Produkt hinzufügen. Wenn der Benutzer das Formular abschickt, ohne Daten einzugeben, erscheint die folgende Ausgabe im Browser. Hier zeigen zwei Datumsfelder Fehler, da der Standardwert des Datumsfelds kein gültiges Format hat.

Die folgende Ausgabe erscheint nach dem Hinzufügen der gültigen Datumsdaten. Hier die Preis Feld ist leer, um das Standardattribut zu verwenden.

Dateneinfügung mit der Vorlage:

Die Art des Einfügens von Daten in die Produkte Tabelle mit HTML-Formular wurde in diesem Abschnitt gezeigt. Hier werden die Formularelemente basierend auf dem zuvor erstellten Modell generiert generated.

Formen.py

# Formularmodul importieren
aus Django-Importformularen
# Kundenmodell importieren
von dbapp.Modelle importieren Produkt
# Definieren Sie die Klasse für das Kundenformular
Klasse ProductForm(Forms.ModelForm):
Klasse Meta:
Modell = Produkt
Felder = '__alle__'

Erstellen Sie die HTML-Datei mit dem Namen Produkt.html innerhalb der Vorlagen Ordner der App mit folgendem Skript. Die Formulardaten werden übermittelt, wenn der Benutzer auf das speichern Taste.

Produkt.html

Kundeneingabeformular



% csrf_token %
bilden.as_p

Modifiziere den Ansichten.py Datei mit dem folgenden Skript zum Einfügen von Daten in die Produkte Tabelle nach der Validierung des Formulars. Produkt hinzufügen() Die Funktion ist im Skript definiert, um zu überprüfen, ob das Formular gesendet wurde oder nicht. Wenn ist gültig() Funktion kehrt zurück wahr, dann werden die Daten in die Produkte Tabelle und eine Erfolgsmeldung wird im Browser angezeigt.

Ansichten.py

# HttpResponse-Modul importieren
von django.http.Antwortimport HttpResponse
# Rendermodul importieren
von django.Verknüpfungen importieren rendern
# Produktformular importieren
von dbapp.Formularimport ProductForm
# Funktion zum Hinzufügen eines Produkteintrags definieren
def Produkt hinzufügen (Anfrage):
wenn anfrage.Methode == "POST":
form = ProduktForm (Anfrage.POST)
# Ob die Formulardaten gültig sind oder nicht
wenn form.ist gültig():
Versuchen:
# Speichern Sie die Formulardaten in der Datenbank
bilden.speichern()
# Definiere die Nachricht für den Benutzer
Daten = ['

Das Produkt hinzugefügt.

']
# Antwort zurückgeben
HttpResponse(Daten) zurückgeben
außer:
bestehen
sonst:
# Definiere das Formularobjekt
form = ProduktForm()
# Zeigen Sie das Produkteingabeformular an
return render(request, 'Produkt.html', 'form': form)

Modifiziere den URLs.py Datei mit dem folgenden Skript, um den Pfad zum Aufrufen der Ansichtsfunktion zu definieren.

URLs.py

# Admin-Modul importieren
von django.contrib import admin
# Pfadmodul importieren
von django.URL-Importpfad
# Ansicht importieren
aus dbapp-Importansichten
# Pfad für Kunde und Admin definieren
URLmuster = [
Pfad(", Ansichten.Produkt hinzufügen),
path('admin/', admin.Seite? ˅.URLs)
]

Führen Sie nun den Django-Server aus und öffnen Sie die Basis-URL im Browser.

http://localhist:8000/

Es erscheint folgendes Formular.

Folgende ValueError wird angezeigt, wenn der Benutzer das Formular abschickt, ohne Daten im Formular hinzuzufügen. Hier die Preis Feld ist eine ganze Zahl, die nicht die leere Zeichenfolge sein darf.

Wenn der Benutzer die gültigen Daten wie das untenstehende Formular eingibt und die speichern Schaltfläche wird ein neuer Produktdatensatz in die Datenbank eingefügt.

Das folgende Bild erscheint, wenn Sie den neu eingefügten Datensatz aus dem Django Dashboard öffnen.

Fazit:

In diesem Tutorial wurde ein Modell unter Verwendung von Null- und Standardattributen entworfen. Als nächstes wurden die Möglichkeiten zum Einfügen von Daten in diese Felder im Backend und im Frontend hier gezeigt, um dem Leser zu helfen, die Verwendung von Standard- und Nullattributen in der Django-Datenbank zu kennen.

So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...
Beste Spielkonsolen-Emulatoren für Linux
Dieser Artikel listet beliebte Spielekonsolen-Emulationssoftware auf, die für Linux verfügbar ist. Emulation ist eine Softwarekompatibilitätsschicht, ...
Beste Linux-Distributionen für Gaming im Jahr 2021
Das Linux-Betriebssystem hat sich weit von seinem ursprünglichen, einfachen, serverbasierten Aussehen entfernt. Dieses Betriebssystem hat sich in den ...