База данных SQLite в Python. ORM, peewee #3 | Базовый курс. Программирование на Python

  Рет қаралды 22,657

Sweet Coder

Sweet Coder

Күн бұрын

Для того, чтобы ещё больше облегчить себе жизнь программисты придумали такую штуку как ORM. Теперь взаимодействовать с базой данных стало значительно удобнее и легче. Давай рассмотрим этот инструмент на примере Python модуля Peewee
• База данных SQLite в P... - База данных SQLite в Python. Создание БД, вставка в БД | Базовый курс. Программирование на Python
• База данных SQLite в P... - База данных SQLite в Python. Выборка, связь таблиц #2 | Базовый курс. Программирование на Python
peewee.readthe... - официальная документация к модулю Peewee
#Python #peewee #ORM #database #программирование

Пікірлер: 46
@orazovdidar
@orazovdidar 4 ай бұрын
Отличная подача материала, большое спасибо
@killerix_fx
@killerix_fx Жыл бұрын
Спасибо за ролик, интересно было в перерывах ознакомиться с этой библиотекой в общих чертах. Но на 6:40 стоит сделать важное замечание, что класс Meta, который мы указываем внутри нашей модели, не имеет ничего общего с метаклассами в Python. Метакласс в Python - это класс, экземплярами которого являются классы. И также, его особенностью помимо этого является то, что он наследуется от type. А в данном примере (как и с классами Meta в моделях Django, к примеру) это класс с метаданными. А метаданные служат для дополнительной информации о модели. Так что класс метаданных не имеет ничего общего с метаклассами в Python. Не знаю, писали ли тут ранее об этом, но считаю, что многим людям (особенно начинающим) это может создать путаницу в голове.
@eskaakse7363
@eskaakse7363 10 ай бұрын
Самый грамотный подход к обучению респект
@louispython8215
@louispython8215 4 жыл бұрын
Спасибо, Вы выпускаете очень полезный и очень годный материал. Желаю Вашему каналу процветания и успехов!
@SweetCoder
@SweetCoder 4 жыл бұрын
спасибо за отзыв
@jenjapa
@jenjapa 2 жыл бұрын
Отличное видео и подача, я даже зевать не начал при просмотре. Обязательно гляну все остальное.
@ИванИванов-н9т9ъ
@ИванИванов-н9т9ъ 4 жыл бұрын
Спасибо, дружище! Весьма полезный материал.
@SweetCoder
@SweetCoder 4 жыл бұрын
на здоровье
@rinatyagafarov5328
@rinatyagafarov5328 11 ай бұрын
Благодарю за видео!
@igorozhigov3852
@igorozhigov3852 3 жыл бұрын
Спасибо, дружище! Всё четко и понятно!
@SweetCoder
@SweetCoder 3 жыл бұрын
спасибо за отзыв
@return_1101
@return_1101 4 жыл бұрын
Очень интиресно.
@SweetCoder
@SweetCoder 4 жыл бұрын
да, полезная штучка
@kirill_spirit_releasement
@kirill_spirit_releasement 3 жыл бұрын
Огромное спасибо! Отличный урок, всё получилось
@SweetCoder
@SweetCoder 3 жыл бұрын
на здоровье
@davidigor8042
@davidigor8042 Жыл бұрын
👍👍 super informative
@sergey5987
@sergey5987 4 жыл бұрын
Лайк, подписка! Спасибо
@SweetCoder
@SweetCoder 4 жыл бұрын
на здоровье 👍
@sergeybelik3926
@sergeybelik3926 2 жыл бұрын
Спасибо.
@rumvitrumvit8055
@rumvitrumvit8055 Ай бұрын
Очень интересный материал. И интересная подача. Все понятно. Но вопросы все же есть. Как peewee db.create_tables(...) себя поведет, если таблицы уже созданы?
@thepeint2241
@thepeint2241 2 жыл бұрын
Не понимаю почему для name используется тип CharField, когда есть TextField. можете объяснить? спасибо
@denissavast
@denissavast 3 жыл бұрын
Молодец, успехов!!!
@michael_dudikov
@michael_dudikov 3 жыл бұрын
Спасибо за уроки очень всё интересно, но пока ничего непонятно)) Создал простого телеграм бота, но присоединить его к базе данных пока не могу, чтобы он просто считал сколько банщики сдали на веники по 50 рублей)) Буду стараться, ведь быть программистом не так просто))
@SweetCoder
@SweetCoder 3 жыл бұрын
желаю успехов
@michael_dudikov
@michael_dudikov 3 жыл бұрын
@@SweetCoder а если не получится, к Вам можно обратиться?)
@SweetCoder
@SweetCoder 3 жыл бұрын
@@michael_dudikov та можно, только я не понимаю, что означает "не получится"
@michael_dudikov
@michael_dudikov 3 жыл бұрын
@@SweetCoder уже голова болит от этого бота и баз данных, я же новичек)
@MrKravetz
@MrKravetz Жыл бұрын
Все сделал как в видео, но у меня почему-то не создаются поля в таблицах прописанные в классах Expense и Payment. А только поля id прописанные в классе BaseModel. Заранее отвечу что не забыл изменить в классах Expense и Payment родителя с Model на BaseModel.
@искандерфайзуллоев-ф4я
@искандерфайзуллоев-ф4я Жыл бұрын
А как подключиться к серверу?
@ЯрославШмелев-з7ъ
@ЯрославШмелев-з7ъ 3 жыл бұрын
Только маленький комментарий: не хорошо "from some_module import *". Когда код растет, становится крайне не понятно откуда вылезают какие то классы и функци. Explicit is better than implicit
@SweetCoder
@SweetCoder 3 жыл бұрын
да, в этом есть рациональное зерно. согласен.
@danstep3562
@danstep3562 9 ай бұрын
либо я не могу найти часть 2.5, либо ты действительно не рассказывал про удаление и изменение в базах данных. Уже час ищу объяснение этих операций на питоне
@takiekakmi7532
@takiekakmi7532 3 жыл бұрын
Круть! Но заставил понервничать с упоминанием мета классов 😅 это же не их ты использовал, а просто подклассы...
@SweetCoder
@SweetCoder 3 жыл бұрын
в любой ситуации нервничать не нужно. хладнокровие наше всё
@PROswimming
@PROswimming 3 жыл бұрын
Добрый день, уважаемый блогер! Спасибо за ваши видео! Я начинающий разработчик и у меня возникло 2 вопроса по вашему видео: 1) Модуль models у меня не устанавливается через командную строку, (первый раз с этим сталкиваюсь, раньше все устанавливаемые модули спокойно устанавливались) мне выдает ошибку No module named 'references' . Пробовал устанавливать модуль 'references', но локально его нет в файлах, а прогуглил - не нашел этого модуля, может плохо гуглил. Полагаю, что из-за этого не устанавливается модуль models(тоже пишет No module named 'models'). А при написании from models import * выдает соответствующую ошибку ModuleNotFounrError: No module named 'models' 2) При разбитии проекта на 2 файла, где в одном логика связи модуля питона с базой данных, а в другом модель построения. У меня не запускается программа логики проекта, выдает ошибку о том, что два файла не взаимосвязаны и не может найти файл моей базы данных из переменной db, чтобы создать в ней таблицу. Все повторял за вами, но эти моменты не получились, буду признателен, если поможете. Здоровья Вам!
@SweetCoder
@SweetCoder 3 жыл бұрын
модуль models - это не модуль для установки из сторонних репозиториев. в данном видео - это файл models.py, созданный рядом с основным файлом программы и импортированный в него. отсюда же и ошибка из второго пункта. создаём файл models.py, помещаем в него модели, а затем импортируем его в основной файл (строка 2)
@PROswimming
@PROswimming 3 жыл бұрын
@@SweetCoder благодарю вас
@maksych8690
@maksych8690 3 жыл бұрын
Только один нюанс, то не metaclass, а просто клас внутри класа с именем Meta. Метакласы это другое, совсем другое. В случае с PeeWee как и в Django ORM, class Meta в класе модели это просто клас с дополнительными атрибутами для самого метакласа. Метаклас это в некотором понимании создатель класа. Вводите в заблуждение аудиторию этим высказыванием.
@maksych8690
@maksych8690 3 жыл бұрын
Вот пример метакласа: class MetaBase(type): pass class Base(metaclass=MetaBase): pass
@SweetCoder
@SweetCoder 3 жыл бұрын
всё верно: metaclass и class Meta - не одно и то же. действительно, нужно было выразиться более конкретно
@55sintez
@55sintez 3 жыл бұрын
Не называйте файлы по имени используемой библиотеки, не сможете её импортировать)
@SweetCoder
@SweetCoder 3 жыл бұрын
да, есть такой нюанс
@sweetdreams9239
@sweetdreams9239 2 жыл бұрын
колокольчики, чувак ты где?
@sonhikim8694
@sonhikim8694 2 жыл бұрын
у меня записывает по 1 символу , где указать длину полей? class BaseModel(Model): id = PrimaryKeyField(unique=True) class Meta: database = db order_by = 'id' class List(BaseModel): name = TextField() class Nanimatel(List): class Meta: db_table = 'nanimatels' with db: Nanimatels = ['мужчина','женщина','семья с детьми','семья без детей', 'коллектив мужчин','коллектив женщин','смешанный коллектив','студенты','студентки'] Nanimatel.insert_many(Nanimatels).execute()
Тест на интелект - Minecraft Roblox
00:19
ЛогикЛаб #2
Рет қаралды 1,4 МЛН
When ur grandma sneaks u money
00:32
Adam W
Рет қаралды 19 МЛН
New Colour Match Puzzle Challenge - Incredibox Sprunki
00:23
Music Playground
Рет қаралды 44 МЛН
Cape Coral, Florida Fire Department rescues alligator stuck in storm drain
00:30
Что такое JDBC? Что такое ORM, Hibernate & JPA?
12:59
Sergey Nemchinskiy
Рет қаралды 75 М.
Интересная задача с собеседования на Code Review #python #livecoding
14:42
Программирование и иже с ним
Рет қаралды 3,7 М.
Валентин Хомутенко / «что не так с ORM в Go»
32:29
Prisma - лучшая ORM для Node.js
23:45
PurpleSchool | Anton Larichev
Рет қаралды 34 М.
Raw SQL, SQL Query Builder, or ORM?
16:19
ArjanCodes
Рет қаралды 108 М.
Тест на интелект - Minecraft Roblox
00:19
ЛогикЛаб #2
Рет қаралды 1,4 МЛН