Jak porozumět modelům Django jednoduchým způsobem

Už jste se někdy pokusili naučit modely procházením Django Docs? Odešli jste s odpověďmi nebo s ještě více otázkami?

Osobně jsem začal pochybovat, zda programování bylo pro mě opravdu.

Tento příspěvek jsem napsal, abych vám pomohl porozumět modelům Django, abyste s nimi mohli provádět základní operace. Modely jsou vynikajícím způsobem, jak pracovat s daty.

Řekněme, že chceme sledovat naše úžasné kočky. Mohli bychom vytvořit model Cat - ale co je vlastně model?

Ukázalo se, že model je jakousi třemi věcmi v jedné:

Nyní projdeme každý blok.

Tabulka s kočkami v databázi

Vytvořili jsme třídu (= model) s názvem Cat.

Když přidáme sloupce, musíme Djangovi říct, jaký druh dat bude v každém z nich. Může to být mimo jiné řetězec, číslice nebo boolean.

V takovém případě by mělo být jméno kočky v textu - toto je CharField v Djangu. Nezapomeňte nastavit maximální délku pro toto pole, protože databáze to musí znát. Hmotnost kočky v gramech je celé číslo - proto používáme IntegerField. Jen poznámka: sloupec id je generován automaticky.

Konečně, null umožňuje ponechat sloupec prázdný. Například bychom nemuseli znát váhu. Všimněte si, že libovolné pole lze označit jako null.

Pro dokončení dotáhneme do našeho databázového schématu změny (jako je vytvoření modelu nebo přidání sloupce). K tomu používáme python manage.py makemigrations a pak python manage.py migrate. Je důležité to udělat pokaždé, když v modelech něco změníte.

Teď máme stůl, ale v něm nemáme nic. Opravme to.

Operace se všemi kočkami

Vytvoření záznamu

Funkce create () nám pomáhá vytvářet některé řádky. Stačí do něj předat všechny purry podrobnosti.

Nalezení konkrétního

Pokud chcete získat soubor FBI kočky - meow-xcuse mě, myslím kočičí informace - použijte funkci get () s jedním z parametrů kočky. V příkladu používám pk, což znamená „primární klíč“. Nejčastěji by to bylo stejné jako použití id.

get () najde všechny řádky odpovídající parametrům a vrátí pouze první.

Nalezení všech záznamů

Navíc máte přístup ke všem kočkám z databáze pomocí funkce all ().

Filtrování

Nebo potřebujete kočky lehčí než 3000g?

K tomu vám pomůže funkce s názvem filtr.

Předáme do něj field__lookuptype = 'value', abychom odfiltrovali kočky.

V příkladu to znamená „méně než“. Takže weight_g__lt = 3000 znamená „hmotnost je méně než 3000 g.“

Operace s jednou kočkou

Aktualizace

Když jsme naposledy vážili Lunu, byla 3200g. Ale nyní má hmotnost 3100 g. To je velmi snadné změnit.

Dostáváme Lunu z databáze podle jejího jména a pak změníme její váhu na 3100. Je to tak jednoduché. Jen jedna věc - musíme zavolat .save (), když skončíme s změnou.

Smazání, jako navždy

Můžeme odstranit jednu z našich koček. Dostaneme kočku a zavoláme funkci .delete ().

Velmi smutné. Ale to je život.

Líbilo se vám tento článek? Prosím, dejte mi pár tleskání, aby to vidělo více lidí. Dík!

Článek byl původně publikován na mém blogu.

Přihlaste se k odběru na konci původního příspěvku a získejte mé nové články ve své doručené poště a učte se Djanga dohromady.