Комментарии 7
Можете что-нибудь посоветовать на замену SQLAlchemy? Уж больно она замороченная
Очень вам рекомендую с ней разобраться. Это на данный момент лучшая библиотека для работы с БД. Хоть у нее и нету никаких скрытых удобных плюшек как у многих ORM. Я и сам когда первый раз столкнулся, то испугался документацию, ее сложность и запутанность. Но на деле вы будете пользоваться лишь частью всей этой функциональности. В целом с уверенными знаниями SQL ее освоить не так уж сложно. Если не она, то Django-ORM может стать неплохой альтернативой. Потому что в ней можно неплохо так оптимизировать все запросы, если вдруг возникнет необходимость. Другие библиотеки рекомендовать не буду. Т.к. я в свое время пробовал некоторые и выделять особо нечего. Возможно что-то новенькое и появилось, давно не проверял. Рекомендую выбирать библиотеку под свой уровень и по кол-ву звёздочек на Гите, с большего не ошибётесь, но SqlAlchemy определенно маст хэв.
Очень заинтересовала ваша статья, т.к. сам сейчас использую данные библиотеки и данный подход сам использовал, но в чуть меньшем масштабе, запрашивал все данные из таблица, а джоинил дополнительные только в том случае, если это требуется в запросе от клиента. Но есть замечание - если допустить в схемах возможность рекурсивного query, то мы получим джоины к джоинам к джоинам:
{
users {
id
groups {
users {
id
}
}
}
}
Как вариант запоминать отношения, которые мы уже заджоинили и в случае дублирование не джоинить их повторно. Ну или как минимум внимательно следить за схемами, чтобы они не допускали рекурсии
Strawberry GraphQL и FastAPI. Так что получается, Pydantic всё-таки не нужен?