Vytváření modelů v Django je základním kamenem pro vývoj webových aplikací s využitím tohoto výkonného frameworku. Modely v Django definují strukturu databáze a poskytují nástroje pro manipulaci s daty. Tento článek poskytne přehled o tom, jak modely vytvořit, včetně definování vztahů mezi modely a přizpůsobení jejich chování.
Základy modelů v Django
Model v Django je speciální druh objektu, který se definuje ve vaší aplikaci v souboru models.py
. Každý model reprezentuje jednu tabulku v databázi, kde atributy modelu odpovídají sloupcům v tabulce. Základem pro vytvoření modelu je importování Django modelů a definice třídy modelu, která dědí z django.db.models.Model
.
Příklad jednoduchého modelu
from django.db import models
class Kniha(models.Model):
nazev = models.CharField(max_length=100)
autor = models.CharField(max_length=100)
datum_vydani = models.DateField()
pocet_stran = models.IntegerField()
V tomto příkladu Kniha
je model, který má čtyři atributy: nazev
, autor
, datum_vydani
a pocet_stran
. Každý atribut používá různé typy polí, jako je CharField
pro textové řetězce nebo DateField
pro datum.
Definování vztahů mezi modely
Django podporuje tři hlavní typy vztahů: ForeignKey
(mnoho k jednomu), ManyToManyField
(mnoho k mnoha) a OneToOneField
(jeden k jednomu). Tyto vztahy umožňují modelům odkazovat na sebe navzájem.
Příklad modelu s ForeignKey
class Kapitola(models.Model):
kniha = models.ForeignKey(Kniha, on_delete=models.CASCADE)
nazev = models.CharField(max_length=100)
poradi = models.IntegerField()
Model Kapitola
používá ForeignKey
pro vytvoření vztahu mnoho k jednomu s modelem Kniha
. Parametr on_delete=models.CASCADE
určuje, co se stane s instancemi Kapitola
, když je příslušná instance Kniha
odstraněna.
Přizpůsobení chování modelů
Django umožňuje přizpůsobit chování modelů pomocí různých možností a metod. Například můžete definovat metodu __str__
pro lepší reprezentaci objektů modelu ve vývojářském rozhraní nebo při výpisu.
class Kniha(models.Model):
# atributy modelu
def __str__(self):
return self.nazev
Toto je základní přehled o tom, jak v Django vytvářet modely. Klíčem k úspěchu je experimentování a praktické použití těchto konceptů ve vašich projektech. Vývoj s Django nabízí flexibilitu a mocné nástroje pro práci s databázemi, což umožňuje rychle vytvářet robustní webové aplikace.