Utilizzo del valore predefinito del null nel modello Django

Utilizzo del valore predefinito del null nel modello Django
Il modello è una delle parti significative dell'applicazione Django basata sul database. Il modello definisce la struttura del database. Il tipo di dati della tabella del database e il modo di inserire dati in base a diversi attributi sono descritti nel modello. La convalida dei dati può essere controllata anche utilizzando il modello. Ogni tabella nel database contiene un numero particolare di campi o colonne. Il modello definisce il tipo di ciascun campo della tabella. L'attributo predefinito viene utilizzato nel modello per impostare un valore predefinito per una determinata area se l'utente per quel campo non inserisce dati. Il valore predefinito di un campo può essere vuoto o qualsiasi valore specifico. IL nullo E vuoto I valori non sono gli stessi. nullo viene utilizzato per definire che il valore vuoto è consentito o meno per un campo particolare. Se la nullo è impostato per Falso, quindi la stringa vuota non sarà consentita nel campo di tipo intero, ma la stringa vuota può essere assegnata nel campo di tipo stringa. Se la nullo è impostato per VERO, quindi il valore null verrà dato nel campo di tipo intero al posto di una stringa vuota. BlanK viene utilizzato per la convalida del modulo principalmente e non controlla il tipo di dati del campo. Il modo di usare predefinito E nullo Gli attributi nel modello Django hanno mostrato in questo tutorial.

Prerequisiti:

Prima di praticare la sceneggiatura di questo tutorial, devi completare le seguenti attività.

UN. Installa la versione Django 3+ su Ubuntu 20+ (preferibilmente)
B. Crea un progetto Django
C. Esegui il server Django per verificare che il server funzioni correttamente o no.

Imposta un'app Django:

UN. Esegui il seguente comando per creare un'app Django denominata Databasepp.

$ Python3 Gestisci.Py Startapp Databasepp

B. Esegui il comando seguente per creare l'utente per accedere al database Django. Se hai completato l'utente prima, non è necessario eseguire il comando.

$ Python3 Gestisci.py createsuperuser

C. Aggiungi il nome dell'app in Installato_app parte delle impostazioni.Py File.

Installato_apps = [
..
'Convaltapp'
"

D. Crea una cartella denominata modelli dentro il Databasepp cartella e impostare il modello Posizione dell'app nel file Modelli parte di impostazioni.Py file.

Modelli = [

.. .
'Dirs': ['/home/fahmida/django_pro/databasapp/templates'],
.. .
,
"

Modello di progettazione con attributi predefiniti e null:

Modificare il Modelli.Py File con il seguente script per creare una tabella denominata prodotti che conterrà quattro campi senza il campo ID. Questi Nomi, prezzo, produzione_date e scadenza_date. Il valore del nullo L'attributo è impostato su true per tutti i campi. Il valore di il vuoto L'attributo è impostato su True anche per tutti i campi. Ciò significa che l'utente può mantenere vuoti i campi prima di inviare il modulo che utilizzerà questo modello. IL predefinito Il valore dell'attributo è impostato per il prezzo, product_date e escare_date.

Modelli.Py

# Modulo dei modelli Importa
da Django.Modelli di importazione DB
# Crea classe per definire la struttura della struttura degli insegnanti
Prodotto di classe (modelli.Modello):
name = modelli.Charfield (max_length = 50, null = true, blank = true)
Price = modelli.Integerfield (null = true, default = ", blank = true)
Manufacturing_date = modelli.DateField (null = true, default = '0000-00-00', blank = true)
ESCIRE_DATE = modelli.DateField (null = true, default = '0000-00-00', blank = true)

Esegui i seguenti comandi di migrazione per creare i file di migrazione necessari e la tabella del database del database SQLite.

$ Python3 Gestisci.Py Makemigrations Databasepp
$ Python3 Gestisci.py migrare

Inserimento dei dati utilizzando Django Administration Dashboard:

Modificare il contenuto di l'amministratore.Py File con il seguente script per registrare il modello nel database.

amministratore.Py
Modificare il URL.Py File con il seguente script per definire il percorso per aprire la dashboard amministrativa Django.

URL.Py

# Importa modulo amministratore
da Django.AMPIONE AMMINIO DI IMPIT
# Modulo per il percorso Importa
da Django.percorso di importazione degli URL
# Definisci il percorso per il cliente e l'amministratore
urlpatterns = [
Path ('Admin/', Admin.luogo.URL)
"

Ora, esegui il server Django e vai alla dashboard amministrativa Django utilizzando il seguente URL.

http: // localhist: 8000/admin

Apri il modulo di iscrizione al prodotto facendo clic Aggiungi prodotto. Se l'utente presenta il modulo senza inserire dati, verrà visualizzato il seguente output nel browser. Qui, due campi di data mostrano errori perché il valore predefinito del campo Data non è in formato valido.

Verrà visualizzato il seguente output dopo l'aggiunta dei dati della data valida. Qui, il prezzo Il campo è vuoto per l'utilizzo dell'attributo predefinito.

Inserimento dei dati utilizzando il modello:

Il modo di inserire i dati in prodotti La tabella utilizzando il modulo HTML è stata mostrata in questa sezione. Qui, gli elementi del modulo verranno generati in base al modello creato in precedenza.

forme.Py

# Modulo di importa forme
dai moduli di importazione di Django
# Importa modello di cliente
da dbapp.I modelli importano prodotto
# Definisci la classe per il modulo del cliente
Classe ProductForm (moduli.Modelform):
Meta di classe:
modello = prodotto
Fields = '__all__'

Crea il file HTML denominato Prodotto.html dentro il modelli cartella dell'app con il seguente script. I dati del modulo verranno inviati quando l'utente farà clic su Salva pulsante.

Prodotto.html

Modulo di accesso al cliente



% csrf_token %
modulo.as_p

Modificare il visualizzazioni.Py file con il seguente script per inserire i dati in prodotti Tabella dopo aver convalidato il modulo. AddProduct () La funzione è definita nello script per verificare che il modulo viene inviato o meno e se il modulo viene inviato, controllerà che i dati del modulo sono validi o non validi. Se è valido() Restituisce la funzione VERO, quindi i dati verranno inseriti in prodotti Tabella e un messaggio di successo verrà visualizzato nel browser.

visualizzazioni.Py

# Importa il modulo HTTPResponse
da Django.http.Importazione di risposta HttPresponse
# Importa il modulo di rendering
da Django.scorciatoie rendering di importazione
# Import ProductForm
da dbapp.Forme Importa forma del prodotto
# Definisci funzione per aggiungere la voce del prodotto
Def AddProduct (Richiesta):
Se richiesta.Method == "Post":
Form = ProductForm (richiesta.INVIARE)
# Se i dati del modulo sono validi o no
se forma.è valido():
Tentativo:
# Salva i dati del modulo nel database
modulo.salva()
# Definisci il messaggio per l'utente
data = ['

Il prodotto aggiunto.

']
# Restituisci la risposta
return httpresponse (dati)
tranne:
passaggio
altro:
# Definisci l'oggetto modulo
Form = ProductForm ()
# Mostra il modulo di iscrizione al prodotto
Restituzione di rendering (richiesta ", prodotto.html ', ' form ': forma)

Modificare il URL.Py File con il seguente script per definire il percorso per chiamare la funzione Visualizza.

URL.Py

# Importa modulo amministratore
da Django.AMPIONE AMMINIO DI IMPIT
# Modulo per il percorso Importa
da Django.percorso di importazione degli URL
# Visualizza importazione
Da DBApp Import Views
# Definisci il percorso per il cliente e l'amministratore
urlpatterns = [
Path (", viste.AddProduct),
Path ('Admin/', Admin.luogo.URL)
"

Ora, esegui il server Django e apri l'URL di base nel browser.

http: // localhist: 8000/

Apparirà la seguente forma.

Il seguente Valorerror apparirà se l'utente presenta il modulo senza aggiungere dati nel modulo. Qui, il prezzo Il campo è un numero intero che non può essere la stringa vuota.

Se l'utente inserisce i dati validi come il modulo sottostante e preme il Salva pulsante, un nuovo record di prodotto verrà inserito nel database.

La seguente immagine apparirà se si apri il record appena inserito dal dashboard di Django.

Conclusione:

Un modello è stato progettato utilizzando null e attributi predefiniti in questo tutorial. Successivamente, i modi per inserire i dati in questi campi nel back-end e nel front-end hanno mostrato qui per aiutare il lettore a conoscere gli usi degli attributi predefiniti e null nel database Django.