Как да разберем моделите на Django по простия начин

Опитвали ли сте се някога да научите модели, преминавайки през Django Docs? Напуснахте ли с отговори или с още повече въпроси?

Лично аз започнах да се съмнявам дали програмирането наистина е за мен.

Написах този пост, за да ви помогна да разберете моделите на Django, за да можете да извършвате основни операции с тях. Моделите са отличен начин за работа с данни.

Кажете, че искаме да следим нашите невероятни котки. Бихме могли да създадем модел на Cat - но какъв е моделът все пак?

Оказва се, моделът е вид три неща в едно:

Сега, да преминем през всеки блок.

Таблица с котки в база данни

Създадохме клас (= модел) на име Cat.

Когато добавяме колони, трябва да кажем на Django какъв вид данни ще има във всяка от тях. Тя може да бъде низ, цифри или булева, наред с други.

В този случай името на котката трябва да бъде в текст - това е CharField в Django. Не забравяйте да зададете максималната дължина за това поле, защото базата данни трябва да го знае. Теглото на котката в грамове е цяло число - затова използваме IntegerField. Само забележка: колоната с идентификатор се генерира автоматично.

И накрая, null дава възможност да се остави колона празна. Например, може да не знаем теглото. Имайте предвид, че всяко поле може да бъде маркирано като нулево.

За финал ще разпространим промените (като създаване на модел или добавяне на колона) в нашата схема на базата данни. За това използваме python manag.py makemigrations и след това python Manag.py migrate. Важно е да правите това всеки път, когато промените нещо в моделите.

Сега имаме маса, но нямаме нищо вътре. Нека да поправим това.

Операции с всички котки

Създаване на запис

Функцията create () ни помага да създадем някои редове. Просто трябва да предадем всички подробности за пури в него.

Намиране на конкретен

Ако искате да получите файла на FBI на котката - meow-xxsese, имам предвид информацията за котката - просто използвайте функцията get () с един от параметрите на cat. В примера използвам pk, което означава „първичен ключ“. Най-често това би било същото като използването на id.

get () ще намери всички редове, съответстващи на параметрите и ще върне само първия.

Намиране на всички записи

На всичкото отгоре можете да получите достъп до всички котки от базата данни с помощта на функцията all ().

Филтриране

Или имате нужда от котки, по-леки от 3000гр?

Функция с име филтър е готова да ви помогне с това.

Предаваме field__lookuptype = 'value' в него, за да филтрираме котките.

В примера това означава „по-малко от.“ Така тегло_g__lt = 3000 означава „тегло е по-малко от 3000 грама.“

Операции с една котка

Обновяване

Последният път, когато претеглихме Луна, тя беше 3200гр. Но сега теглото й е 3100гр. Много е лесно да промените това.

Просто получаваме Луна от базата данни по нейно име и след това променяме теглото й на 3100. Това е толкова просто. Само едно нещо - трябва да се обадим на .save (), когато сме променили.

Изтриване, като, завинаги

Можем да изтрием една от нашите котки. Вземаме котката и извикваме функцията .delete ().

Много тъжно. Но това е животът

Хареса ли ви тази статия? Моля, дайте ми някои хлопки, за да го видят повече хора. Благодаря!

Статията първоначално беше публикувана в моя блог.

Абонирайте се в края на оригиналната публикация, за да получите новите ми статии във входящата си поща и да научите заедно Django.