Django

Hvordan bruke modellen i Django?

Hvordan bruke modellen i Django?
Modellen brukes i Django-applikasjonen for å lage en webapplikasjon med en database. Det er en innebygd funksjon i Django for å opprette relasjonelle databasetabeller ved å definere tabellstrukturen for Django-prosjektet. Hvert attributt til modellen angir typen for det spesielle feltet i tabellen. En modellklasse vil kreve å definere hver tabell i databasen. Generelt er navnet på modellklassen definert i entall, og Django vil opprette et tabellnavn i flertall basert på modellklassenavnet. Eventuelle modifikasjoner av tabellen designet av modellen, for eksempel opprette eller oppdatere eller slette, kan gjøres veldig enkelt ved hjelp av Django adminpanel. De samme oppgavene kan også gjøres fra python-kommandolinjen. Å lage Django-modeller som vil opprette to relasjonstabeller og hvordan de kan nås ved hjelp av Django Administration-dashbordet, vises i denne veiledningen.

Forutsetninger

Før du praktiserer eksemplene på denne veiledningen, 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 å kontrollere at serveren fungerer som den skal eller ikke.

Konfigurer en Django-app:

Kjør følgende kommando for å opprette en Django-app med navnet modell-app.

$ python3 administrere.py startapp modellapp

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 administrere.py skaperbruker

Legg til appnavnet i INSTALLERT_APP del av py fil.

INSTALLED_APPS = [
..
'modell-app
]

Opprett en mappe med navnet maler inne i modell-app mappen og still inn malens plasseringen av appen i MALER del av py fil.

MALER = [

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

Lag en modell for databasetabellen:

Åpne modeller.py fil fra modell-app mappen og legg til følgende skript for å definere strukturen til to relasjonstabeller. Lærer klasse er definert for å lage en tabell som heter lærere med navn, avdeling, e-post, og telefonen Enger. Kurs klasse er definert for å lage en tabell som heter kurs med kode, navn, kreditt, og lærer Enger. Her, den lærer innen Kurs tabellen er den fremmede nøkkelen som vises fra Lærere bord.

modeller.py

# Importer modeller-modulen
fra django.db import modeller
# Lag klasse for å definere strukturen til lærertabellen
klasse Lærer (modeller.Modell):
navn = modeller.CharField (max_length = 50)
avdeling = modeller.CharField (max_length = 20)
e-post = modeller.EmailField (max_length = 100)
telefon = modeller.CharField (max_length = 50)
# Lag klasse for å definere strukturen til kurstabellen
klasse Kurs (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.CASCADE)

Kjør makemigrasjoner kommando for å opprette en ny migrering basert på endringene som er gjort av modellene.

$ python3 administrere.py makemigrations modell app

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

$ python3 administrere.py migrere

Endre innholdet i admin.py fil med følgende innhold. Her, Lærer og Kurs klassene av modellene registreres ved hjelp av registrere() metode for å vise Lærere og Kurs tabeller i Django-administrasjons dashbordet.

admin.py

# Importer administrasjonsmodul
fra django.bidrag importadministrator
# Importer modellene
fra .modeller importerer lærer
fra .modeller importerer Course
# Registrer modellene
admin.nettstedet.registrer (lærer)
admin.nettstedet.registrer deg (Kurs)

Angi URL for administratorinnlogging:

Banen for administratorinnlogging er definert i nettadresser.py fil for hvilken som helst Django-app som standard. Hvis banen ikke er definert i filen, endrer du nettadresser.py fil med følgende skript for å åpne det innebygde Django Administration Dashboard for banen ' admin /'.

nettadresser.py

# Importer administrasjonsmodul
fra django.bidrag importadministrator
# Importer banemodul
fra django.URL-adresse for import
# Definer banen for admin
urlpatterns = [
sti ('admin /', admin.nettstedet.nettadresser),
]

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 vises for å sette inn posten. 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. The 'Lagre og fortsett redigering'-knappen brukes til å sette inn posten og åpne skjemaet igjen med dataene for redigering. The 'Lagre'-knappen brukes kun til å sette inn posten. Hvert inngangsskjema vil inneholde disse tre knappene.

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

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

Etter å ha satt inn tre poster i kurstabellen, vil følgende informasjon vises i nettleseren. Hvis du vil endre noen poster fra kurset eller lærerne, klikker du på det aktuelle objektet for å åpne redigeringsskjemaet med eksisterende data.

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

Konklusjon

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

Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...
Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har nylig lest om Microsoft Sculpt Touch trådløs mus og bestemte meg for å kjøpe den. Etter å ha brukt den en stund bestemte jeg meg for å dele mi...