Почему же не отвечать, я же топик написал, чтобы развеяться за приятной беседой с умными людьми. Как выяснилось их много, даже чересчур. А в общем именно на это я и рассчитывал, я же знаю хабр и его уровень.
С примерами все идет не в то русло, начинаются какие-то странные предложения как решить проблему иначе — и все они сильно хуже и не решают поставленной задачи. На мой взгляд результат один — разговоры ни о чем.
Не выйдет, будет очень уж монструозно — например у меня там могут быть джойны по разным таблицам, разным условиям, а какие-то части у них один в один. Делать магию со строками — писать недогенератор запросов на коленке.
Плюс к тому проект о финансах, и там отчетов напридумали кучу. И все эти отчеты сильно выиграют от интеграции SQLA в проект.
Просто примеры выдирать из кода — ну там же не понятно будет что к чему. Придумать из головы — ну никто же не скажет «о, круто», скажут «а нафиг тут так сложно»? Несмотря на искусственность примера. Поэтому было желание к этому не скатываться, тем более что не о том статья.
Вот пример, но это именно вариант «ни фига не понятно зачем оно так»:
Да, это так. Если это один такой селект у вас. У меня в проекте попалась пачка весьма схожих запросов, но вот мелкие детали сделали невозможным привнести DRY на уровне строк.
Ну насчет аспектов джанго можно поспорить. Приезжайте в октябре на pyconua — обсудим предметно, перемоем все косточки Django и всем остальным проектам.
А так да — я считаю, что джанго какашка, и делать на ней новый проект не стоит.
Про маппинг — можно было бы замаппить таблицы SQLA прямо на модели джанго, мой знакомый разработчик так и делал. Я решил не идти этим путем, потому что возможны проблемы от такого подхода. Впрочем есть пространство для размышлений — у него из запроса выплывали джанго модели, что возможно удобно. Просто в том куске, над которым думал я, модели собственно были не нужны. А потому aldjemy и не выкидывает джанго модели.
Это пример написания запроса был, если что. А не пример как надо делать. И об этом там же и написано:
> Но на самом деле, надо ли использовать SQLA для выборки пользователей в группе? Конечно нет!
Где же я хамил? Я рассказываю людям о моем восприятии их комментариев, используя исключительно уважительную форму «вы». Проверьте везде, и попробуйте найти хоть одно место, где я скатился на тыкание.
Мое восприятие сильно отличается от вашего, что впрочем с точки зрения философии вполне себе адекватно.
Зачем — трудозатраты на написание этой библиотеки были сильно ниже, чем переписка всего проекта ради его десятой части.
Параметризованный запрос оно возвращает. То есть этот запрос, в зависимости от параметров, хорошо изменяется, и этой гибкости хватает на создание 9 весьма разных запросов. Получить это с raw sql у вас не выйдет, напишете реального франкенштейна.
Ну блин. Статья о том, как ничего не меняя заюзать мощь SQLA в старом проекте. Что тут сложного то? Ничего не надо выкидывать, ничего не надо переделывать. Просто вместо костылей Dajngo ORM используем SQLA.
С примерами все идет не в то русло, начинаются какие-то странные предложения как решить проблему иначе — и все они сильно хуже и не решают поставленной задачи. На мой взгляд результат один — разговоры ни о чем.
Плюс к тому проект о финансах, и там отчетов напридумали кучу. И все эти отчеты сильно выиграют от интеграции SQLA в проект.
Вот пример, но это именно вариант «ни фига не понятно зачем оно так»:
habrahabr.ru/blogs/python/128052/#comment_4231276
PS Не тыкайте. Это лично ваш выбор, беседовать на ты, он не обязан быть приятен собеседнику.
А так да — я считаю, что джанго какашка, и делать на ней новый проект не стоит.
Про маппинг — можно было бы замаппить таблицы SQLA прямо на модели джанго, мой знакомый разработчик так и делал. Я решил не идти этим путем, потому что возможны проблемы от такого подхода. Впрочем есть пространство для размышлений — у него из запроса выплывали джанго модели, что возможно удобно. Просто в том куске, над которым думал я, модели собственно были не нужны. А потому aldjemy и не выкидывает джанго модели.
> Но на самом деле, надо ли использовать SQLA для выборки пользователей в группе? Конечно нет!
Зачем — трудозатраты на написание этой библиотеки были сильно ниже, чем переписка всего проекта ради его десятой части.