Jak używać modelu w Django?

Jak używać modelu w Django?
Model jest używany w aplikacji Django do tworzenia aplikacji internetowej z bazą danych. Jest to wbudowana funkcja Django do tworzenia relacyjnych tabel bazy danych poprzez definiowanie struktury tabeli dla projektu Django. Każdy atrybut modelu wskazuje rodzaj konkretnego pola tabeli. Klasa modelowa będzie wymagała zdefiniowania każdej tabeli bazy danych. Ogólnie rzecz biorąc, nazwa klasy modelu jest zdefiniowana w formie pojedynczej, a Django utworzy nazwę tabeli w postaci liczby mnogiej na podstawie nazwy klasy modelu. Wszelkie modyfikacje tabeli zaprojektowanej przez model, takie jak tworzenie lub aktualizacja lub usuwanie, można bardzo łatwo wykonać za pomocą panelu administracyjnego Django. Te same zadania można również wykonać z wiersza poleceń Python. Tworzenie modeli Django, które utworzą dwie tabele relacyjne i sposób, w jaki można je uzyskać za pomocą pulpitu administracyjnego Django, jest pokazane w tym samouczku.

Wymagania wstępne

Przed ćwiczeniem przykładów tego samouczka musisz wykonać następujące zadania.

  1. Zainstaluj wersję Django 3+ na Ubuntu 20+ (najlepiej)
  2. Utwórz projekt Django
  3. Uruchom serwer Django, aby sprawdzić, czy serwer działa poprawnie lub nie.

Skonfiguruj aplikację Django:

Uruchom następujące polecenie, aby utworzyć aplikację Django o nazwie Modelowa aplikacja.

$ Python3 Zarządzaj.PY STARTAPP ModelApp

Uruchom następujące polecenie, aby utworzyć użytkownika w celu uzyskania dostępu do bazy danych Django. Jeśli wcześniej utworzyłeś użytkownika, nie musisz uruchamiać polecenia.

$ Python3 Zarządzaj.PY CreateSuperuser

Dodaj nazwę aplikacji w Zainstalowany_app część py plik.

Instalowane_apps = [

„Modelowa aplikacja
]

Utwórz folder o nazwie szablony w środku Modelowa aplikacja folder i ustaw szablon Lokalizacja aplikacji w Szablony część py plik.

Szablony = [

… .
„Dirs”: ['/home/fahmida/django_pro/modelApp/szablony']],
… .
,
]

Utwórz model tabeli bazy danych:

Otworzyć modele.py plik z Modelowa aplikacja Folder i dodaj następujący skrypt, aby zdefiniować strukturę dwóch tabel relacyjnych. Nauczyciel Klasa jest zdefiniowana w celu utworzenia tabeli o nazwie nauczyciele z Imię, dział, e -mail, I telefon Pola. Kurs Klasa jest zdefiniowana w celu utworzenia tabeli o nazwie kursy z kod, nazwa, kredyt, I nauczyciel Pola. Tutaj nauczyciel pole Kursy Tabela to obcy klucz, który pojawi się z Nauczyciele tabela.

modele.py

# Importuj moduł modeli
z Django.Modele importu DB
# Utwórz klasę, aby zdefiniować strukturę tabeli nauczycieli
nauczyciel klasy (modele.Model):
name = modele.Charfield (max_length = 50)
dział = modele.Charfield (max_length = 20)
e -mail = modele.E -mail (max_length = 100)
Phone = modele.Charfield (max_length = 50)
# Utwórz klasę, aby zdefiniować strukturę tabeli kursów
Kurs klasowy (modele.Model):
kod = modele.Charfield (max_length = 10)
name = modele.Charfield (max_length = 50)
credit = modele.Floatfield ()
Nauczyciel = modele.ForeigNKey (nauczyciel, modele On_Delete =.KASKADA)

Uruchom Makemigrations polecenie tworzenia nowej migracji na podstawie zmian wprowadzonych przez modele.

$ Python3 Zarządzaj.Model App Py Makemigrations

Uruchom migrować polecenie do wykonania poleceń SQL i utworzenia wszystkich tabel w bazie danych zdefiniowanych w modele.py plik.

$ Python3 Zarządzaj.Py migruj

Zmodyfikuj zawartość Admin.py Plik z następującą zawartością. Tutaj, Nauczyciel I Kurs Klasy modeli są rejestrowane przy użyciu rejestr() metoda wyświetlania Nauczyciele I Kursy Tabele w deski rozdzielczej administracyjnej Django.

Admin.py

# Importuj moduł administratora
z Django.Administrator importu
# Importuj modele
z .Modele importują nauczyciel
z .Modele importowe
# Zarejestruj modele
Admin.strona.Zarejestruj się (nauczyciel)
Admin.strona.Zarejestruj się (kurs)

Ustaw adres URL do logowania administratora:

Ścieżka logowania administratora jest zdefiniowana w URL.py Plik domyślnie dowolnej aplikacji Django. Jeśli ścieżka nie jest zdefiniowana w pliku, zmodyfikuj URL.py Plik z następującym skryptem, aby otworzyć wbudowany pulpit administracyjny Django dla ścieżki Admin/'.

URL.py

# Importuj moduł administratora
z Django.Administrator importu
# Moduł ścieżki importu
z Django.URL ścieżki importu
# Zdefiniuj ścieżkę administratora
urlpatterns = [
ścieżka („admin/”, administrator.strona.URL),
]

Wstaw rekordy w tabelach:

Uruchom następujący adres URL z przeglądarki, aby otworzyć deskę rozdzielczą Django.

http: // localhost: 8000/admin

Dla aplikacji modelowej zostaną wyświetlone następujące tabele. Wszelkie rekordy tabel można odczytać, wstawić, aktualizować i usuwać z tej strony.

Kliknij tabelę nauczycieli, aby wstawić niektóre rekordy do tabeli. Formularz z niezbędnymi pól, taki jak następujący obraz, pojawi się w celu wstawienia rekordu. W formularzu są trzy przyciski do wstawienia rekordów w tabeli. 'Zapisz i dodaj kolejnyPrzycisk służy do wstawienia rekordu i ponownego otwarcia formularza w celu wstawienia następnego rekordu. ''Zapisz i kontynuuj edycjęPrzycisk służy do wstawienia rekordu i ponownego otwarcia formularza z danymi do edycji. ''Ratować„Przycisk służy tylko do wstawienia rekordu. Każdy formularz wpisowy będzie zawierać te trzy przyciski.

Po włożeniu rekordów dwóch nauczycieli w przeglądarce pojawią się następujące informacje.

Poniższy formularz pojawi się po kliknięciu tabeli kursów. Nauczyciel pole Kursy Tabela jest związana z Nauczyciele Tabela według klucza obcego. Lista rozwijana z wstawionymi obiektami nauczyciela będzie wydawać się dodawać dane w tej dziedzinie z listy.

Po włożeniu trzech zapisów do tabeli kursów w przeglądarce pojawią się następujące informacje. Jeśli chcesz zmodyfikować dowolne zapisy kursów lub tabeli nauczycieli, kliknij ten konkretny obiekt, aby otworzyć formularz edycji z istniejącymi danymi.

Możesz wyświetlać rekordy obu tabel w przeglądarce za pomocą widoki.py Plik i tworzenie świątyń w określonej lokalizacji szablonu. Możesz sprawdzić samouczki o szablonie Django i szablon Django.

Wniosek

Dane do tabeli można uzyskać lub modyfikować za pomocą pulpitu administracyjnego Django, jak wyjaśniono w tym samouczku. Ale dane można wstawić do tabel, pisząc skrypt w wyświetlenia.py Plik z lub bez użycia pliku szablonu.