Тёмный

SQLAlchemy: Advanced RELATIONSHIPS | Indexes | Constraints #10 

Артём Шумейко
Подписаться 36 тыс.
Просмотров 10 тыс.
50% 1

Опубликовано:

 

27 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 28   
@artemshumeiko
@artemshumeiko 11 месяцев назад
💡 Попробуй онлайн-тренажёр для подготовки к техническому собеседованию: clck.ru/3B5gwP 💡 Забирай роадмап изучения самого востребованного фреймворка на Python - FastAPI здесь: t.me/ArtemShumeikoBot
@Frr-e7e
@Frr-e7e 10 месяцев назад
Лайк не глядя.Тема очень актуальная и не раскрытая нигде нормально.Спасибо тебе большое )
@ДанилЕфимов-г9п
@ДанилЕфимов-г9п 10 месяцев назад
Как всегда на высоте. Как Прометей, только несешь алхимию людям 😁.
@artemshumeiko
@artemshumeiko 10 месяцев назад
спасибо!
@nateriver8261
@nateriver8261 10 месяцев назад
Спасибо большое!
@Guiscardqq
@Guiscardqq 10 месяцев назад
8:01 если нужно указать несколько options, то их можно в один пихать через запятую
@НиколайРюмин-й6и
@НиколайРюмин-й6и 4 месяца назад
Я правильно понимаю что в нашем ограничении подгружаемых записей на каждого воркера делается еще один подзапрос в бд чтобы вычленить первое резюме по критериям?
@AS-fk5fw
@AS-fk5fw 10 месяцев назад
за contains_eager большой респект 👍 неправильно понимал как работает этот метод
@artemshumeiko
@artemshumeiko 10 месяцев назад
рад, что помог вам :)
@user-un2wj7si9j
@user-un2wj7si9j 6 месяцев назад
В WorkersORM у resumes в relationship(back_populates="worker") указание на worker. В свою очередь, в ResumesORM у worker в relationship(back_populates="resumes") идет указание на resumes, и у нас не возникает в терминале предупреждения от Алхимии. Но когда мы в WorkersORM добавляем дополнительно resumes_parttime c back_populates="worker", предупреждение в терминале снова появляется. Что делать в таком случае? Ведь в back_populates нельзя указать resumes и resumes_parttime через запятую.
@captainkryuk1899
@captainkryuk1899 5 месяцев назад
наверное уже поздно, но просто в дочернем классе укажи еще одно отношение с back_populates="resumes_parttime"
@ДмитрийОвчарук-б6ц
@ДмитрийОвчарук-б6ц 10 месяцев назад
Артём, а это какой-то плагин дает такие подсказки по сигнатуре объекта при наведении мышки на него или VSC по-умолчанию?
@artemshumeiko
@artemshumeiko 10 месяцев назад
по умолчанию в VSCode. Нужно только, чтобы работа велась в виртуальном окружении
@georgiyveter6391
@georgiyveter6391 10 месяцев назад
Кто может подсказать, как для Sqlite сделать, чтобы в числовое поле по умолчанию при вставке в БД поставлялось максимальное значение + 1? Например, я добавляю две записи, идёт постановка 1, 2. Потом я в третьей записи задаю сам это поле как 10. А потом в следующей автоматчики уже подставляется 11
@sxmrxk
@sxmrxk 10 месяцев назад
CREATE TABLE ваша_таблица ( ваше_числовое_поле INTEGER PRIMARY KEY AUTOINCREMENT, другие_поля TEXT );
@georgiyveter6391
@georgiyveter6391 10 месяцев назад
@@sxmrxk нет, нужен не первичный ключ
@VladyslavKoshyl
@VladyslavKoshyl 9 месяцев назад
Привет, есть вопрос касаемо relationship между моделями из разных директорий. Как правильно задавать путь в таком случае? Например, creator: Mapped["src.auth.models.User"] = relationship("User", back_populates="created_rooms") created_rooms: Mapped[List["src.rooms.models.Room"]] = relationship("Room", back_populates="creator") я задаю две строки(+ForeignKey для one to many), но python почему-то ругается на то что "src" is not defined, пробую изменить директорию ещё на одну выше, всё так же, как мне с этим справиться? Пробовал делать также импорт каждого класса в папку, но получил ошибку circular import( заранее спасибо за все!
@artemshumeiko
@artemshumeiko 9 месяцев назад
просто creator: Mapped["User"]
@АлександрСидоренко-ц8х
@@artemshumeiko orders: Mapped[list["Orders"]] = relationship(back_populates='users') при таком построении он хочет импорта модели Orders, но тогда будут циклические импорты
@станиславзотов-д7у
@станиславзотов-д7у 2 месяца назад
Спасибо за видео, но тема раскрывается не структурировано и запутано. Это не гайд, больше похоже на обзор. приводятся сравнение подходов, отличия методов. Это путает отвлекает. куча кода, структура которого постоянно меняется, вывод в командной строке, при желании его посмотреть даже на паузе сложно поймать. Да комментарии к выводу, больше путают. Этот коммент не несет цели очернить видео. Это мои выводы при просмотре от начала до этого видео. Ещё раз спасибо, и надеюсь что в следующий раз, если будете делать что то подобное, то оно будет более методичнее раскрывать тему.
@daark0407
@daark0407 10 месяцев назад
Артем, а вы не планируете в будущем снять видео по ddd архитектуре? я думаю, что это был бы очень полезный ролик.
@ellovich
@ellovich 8 месяцев назад
Артем, запишите пожалуйста про бинарный Json (JSONB) в sqlalchemy
@maisiq
@maisiq 9 месяцев назад
В примерах между selectinload и contains_eager разница в результатах в том, что последний использует filter, а не в том, как они работают. Полагаю, что вы хотели показать, что если использовать filter + contains_eager, то выберутся то те worker'ы, у которых есть конкретные резюме (опять же, из-за фильтра), но contains_eager подгрузит в коллекцию worker'у не все резюме, а только те, что удовлятворяют условиям фильтра. [contains_eager + filter] В результате worker.resumes = [только с parttime] [selectinload + filter] В результате worker.resumes = [все резюме] Раздел в документации: Using contains_eager() to load a custom-filtered collection result Спасибо за курс). Сколько еще планируется уроков?
@artemshumeiko
@artemshumeiko 9 месяцев назад
Вы все верно написали. Возможно, я не так выразился в видео. В курсе всего 13 уроков. Последний по Алембику выйдет в течение пары недель
@evakuator8118
@evakuator8118 10 месяцев назад
Круто!
@artemshumeiko
@artemshumeiko 10 месяцев назад
спасибо!)
Далее
🎙ПЕСНИ ВЖИВУЮ от КВАШЕНОЙ
3:05:21
Основы и секреты Rest API
5:13
Просмотров 4,6 тыс.
SQLAlchemy: Many-to-many relationship (m2m)
12:54
Просмотров 8 тыс.