Košík je prázdný

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.