Hvordan bruke modellen i Django?

Hvordan bruke modellen i Django?
Modell brukes i Django -applikasjonen for å opprette en webapplikasjon med en database. Det er en innebygd funksjon i Django for å lage relasjonsdatabasetabeller ved å definere tabellstrukturen for Django-prosjektet. Hver attributt til modellen indikerer typen av det aktuelle feltet i tabellen. En modellklasse vil kreve å definere hver tabell i databasen. Generelt er navnet på modellklassen definert i entallform, og Django vil lage et tabellnavn i flertallsform basert på modellklassenavnet. Eventuelle modifikasjoner av tabellen designet av modellen, for eksempel å opprette eller oppdatere eller slette, kan gjøres veldig enkelt ved å bruke Django Admin -panelet. De samme oppgavene kan også gjøres fra Python -kommandolinjen. Å lage Django -modeller som vil lage to relasjonelle tabeller og hvordan de kan nås ved hjelp av Django Administration Dashboard vises i denne opplæringen.

Forutsetninger

Før du øver på eksemplene på denne opplæringen, må du fullføre følgende oppgaver.

  1. Installer Django versjon 3+ på Ubuntu 20+ (helst)
  2. Lag et Django -prosjekt
  3. Kjør Django -serveren for å sjekke at serveren fungerer som den skal eller ikke.

Sett opp en Django -app:

Kjør følgende kommando for å opprette en Django -app som heter modellapp.

$ Python3 Administrer.PY StartApp ModelApp

Kjør følgende kommando for å opprette brukeren for tilgang til Django -databasen. Hvis du har opprettet brukeren før, trenger du ikke kjøre kommandoen.

$ Python3 Administrer.Py CreateSuperuser

Legg til appnavnet i Installert_app del av py fil.

Installert_apps = [
..
'Modell -app
]

Opprett en mappe som heter Maler inne i modellapp mappe og angi malens Plasseringen av appen i Maler del av py fil.

Maler = [

.. .
'Dirs': ['/Home/Fahmida/Django_Pro/ModelApp/Maler'],
.. .
,
]

Lag en modell for databasetabellen:

Åpne modeller.py fil fra modellapp mappe og legg til følgende skript for å definere strukturen til to relasjonelle tabeller. Lærer Klasse er definert for å lage en tabell som heter lærere med Navn, avdeling, e -post, og Telefon Enger. Kurs Klasse er definert for å lage en tabell som heter kurs med Kode, navn, kreditt, og lærer Enger. Her, The lærer innen Kurs Tabell er den utenlandske nøkkelen som vil vises fra Lærere bord.

modeller.py

# Importer modeller modul
Fra Django.DB importmodeller
# Lag klasse for å definere strukturen til lærertabellen
Klasselærer (modeller.Modell):
Navn = modeller.Charfield (Max_Length = 50)
Avdeling = modeller.Charfield (max_length = 20)
E -post = modeller.E -postfield (max_length = 100)
Telefon = modeller.Charfield (Max_Length = 50)
# Lag klasse for å definere strukturen i tabellen
Klassekurs (modeller.Modell):
kode = modeller.Charfield (max_length = 10)
Navn = modeller.Charfield (Max_Length = 50)
kreditt = modeller.Floatfield ()
Lærer = modeller.ForeignKey (lærer, on_delete = modeller.Kaskade)

Kjør Makemigrasjoner Kommando for å lage en ny migrasjon basert på endringene som er gjort av modellene.

$ Python3 Administrer.PY Makemigrations Model App

Kjør migrere Kommando for å utføre SQL -kommandoene og opprette alle tabeller i databasen definert i modeller.py fil.

$ Python3 Administrer.py migrerer

Endre innholdet i admin.py fil med følgende innhold. Her, Lærer og Kurs Klasser av modellene er registrert ved å bruke registrere() metode for å vise Lærere og Kurs Tabeller i Django Administration Dashboard.

admin.py

# Importer administratormodul
Fra Django.bidra importadministrator
# Importer modellene
fra .Modeller importerer lærer
fra .Modeller importerer kurs
# Registrer modellene
admin.nettstedet.Register (lærer)
admin.nettstedet.Register (kurs)

Angi URL for administrasjonslogging:

Banen for admin -innlogging er definert i URLS.py fil for en hvilken som helst Django -app som standard. Hvis banen ikke er definert i filen, må du endre URLS.py fil med følgende skript for å åpne det innebygde Django Administration Dashboard for The Path ' admin/'.

URLS.py

# Importer administratormodul
Fra Django.bidra importadministrator
# Importer banemodul
Fra Django.URLS importerer bane
# Definer banen for admin
urlpatterns = [
bane ('admin/', admin.nettstedet.URL),
]

Sett inn poster i tabellene:

Kjør følgende URL fra nettleseren for å åpne Django Administration Dashboard.

http: // localhost: 8000/admin

Følgende tabeller vises for modellappen. Enhver oversikt over tabellene kan leses, settes inn, oppdateres og slettes fra denne siden.

Klikk på lærertabellen for å sette inn noen poster i tabellen. Et skjema med de nødvendige feltene som følgende bilde vil vises for å sette inn post. Det er tre knapper i skjemaet for å sette inn poster i tabellen. 'Lagre og legg til en annen'-knappen brukes til å sette inn posten og åpne skjemaet igjen for å sette inn neste post. 'Lagre og fortsett å redigere'-knappen brukes til å sette inn posten og åpne skjemaet igjen med dataene for redigering. 'Lagre'-knappen brukes bare til å sette inn posten. Hvert inngangsskjema vil inneholde disse tre knappene.

Etter å ha satt inn de to lærerens poster, vises følgende informasjon i nettleseren.

Følgende skjema vises etter å ha klikket på tabellen for kurs. Læreren felt av Kurs Tabell er relatert til Lærere Tabell med den utenlandske nøkkelen. Rullegardinlisten med innsatte lærerobjekter ser ut til å legge til dataene i dette feltet fra listen.

Etter å ha satt inn tre poster i Courses -tabellen, vises følgende informasjon i nettleseren. Hvis du vil endre noen poster over kursene eller lærerbordet, kan du klikke på det aktuelle objektet for å åpne redigeringsskjemaet med de eksisterende dataene.

Du kan vise postene til begge tabellene i nettleseren ved å bruke utsikten.py fil og opprette templene i den definerte malplassen. Du kan sjekke Django View og Django Template Tutorials for disse.

Konklusjon

Tabelldataene kan nås eller endres av Django Administration Dashboard, som forklart i denne opplæringen. Men dataene kan settes inn i tabellene ved å skrive et skript i utsikt.py fil med eller uten å bruke malfilen.