Size: a a a

2021 April 20

GB

Gleb B in Python Flask
а, понимаешь ли, модный парень и делаю 2.0 style)) А там только селект ^_^
источник

GB

Gleb B in Python Flask
.join(Tag.posts) дает:
sqlalchemy.orm.exc.DetachedInstanceError: Parent instance <Post at 0x7fb3122bb100> is not bound to a Session; lazy load operation of attribute 'tags' cannot proceed (Background on this error at: http://sqlalche.me/e/14/bhk3)
То есть он во время джойна не селектит автора к посту., а сессия-то уже тю-тю, закрыта))
источник

GB

Gleb B in Python Flask
это после передачи в шаблон, где я по тегам итерируюсь
источник

Р

Роман in Python Flask
ох тыж, ебушки-воробушки
источник

GB

Gleb B in Python Flask
ой вэюшки)
источник

Р

Роман in Python Flask
есть такая вещь, по умолчанию связи будут лениво подгружаться и еще и попытается повторно из базы прочитать инфу, если я правильно понимаю доки(а я могу их неверно понимать). Посему тебе стоит почитать доку про альтернативные техники загрузки: https://docs.sqlalchemy.org/en/14/orm/loading_relationships.html
источник

Р

Роман in Python Flask
и тебе здесь join не нужен будет, orm вроде как не будет его использовать для загрузки связаных сущностей
источник

GB

Gleb B in Python Flask
спасибо почитаю, читал про это в инетрнетах просто, дак вот при простом селекте сообственно lazy=‘joined’ на Таг.постс и подсасывается. Но там к 1.3 алхимии была статья. Гляну, спасибо)
источник

Р

Роман in Python Flask
т.е. join тебе может понадобиться, если ты хочешь отфильтровать записи по связанным полям. Во как. Надеюсь, если где ошибся, придет кто-нибудь и кинет в меня какашкой укажет на неточность
источник

GB

Gleb B in Python Flask
tag_stmt = select(Tag).where(
   Tag.url == tag_url).options(joinedload(Tag.posts).
                               selectinload(Post.author))
вот так он джойнит автора поста в таг.постс. Но понимания у меня, конечно, не прибавилось)
источник

Р

Роман in Python Flask
Ну так спроси, может подскажет кто)
источник

GB

Gleb B in Python Flask
да не, тут надо всю доку читать или книжку какую. А так лоскутное одеяло получается из знаний)
источник

Р

Роман in Python Flask
Хороший подход
источник

GB

Gleb B in Python Flask
ога, присобачить бы к нему нормальный скил английского для чтения доки) все равно 30-40% не доходит)
источник

DX

Dex X in Python Flask
Чем щас валидируют входные данные в апи на фласке? А то больно уж задолбало по 4 раза перекопировать все переменные и писать проверки и валидаторы
источник

DX

Dex X in Python Flask
Один эндпоинт на 5-10 параметров превращается в 2 дня работы тупо
источник

АП

Агент Печенька... in Python Flask
Marshmallow
источник

DX

Dex X in Python Flask
А ещё интересует как разносить функциональность по файлам. Я использую МетодВьюшки, и не могу никак нормально импортнуть всякие настройки и прочее (как мне к примеру импортнуть инстанс Flask() из другого файла)
источник

T

Tishka17 in Python Flask
Запилить что ли свою либу поверх фласка
источник

T

Tishka17 in Python Flask
from flask import current_app
источник