Pull to refresh
18
0
Кривушин Михаил@Deepwalker

Программист

Send message
А я скажу, без всякого апломба — этот кусочек служит для генерации 9 разных запросов.
Я автор топика о том, как можно подцепить SQLA в Django проект. Я не писал топик о том, чем SQLA лучше Django.
habrahabr.ru/blogs/python/128052/#comment_4231276
А, это возможно. В этот раз я выбрал именно провокативный стиль. Буря в комментах свидетельствует, что какой-то эффект это имело.
«Чуваки» заменить на «эксперты которые не в курсе что такое SQLAlechmy и считают что автор должен им это пояснить». А я не считаю, что мне нужно вам это пояснять, для этого есть документация, ссылка на которую есть в этом топике.
Тем не менее спасибо Александру за примеры.

У меня есть пример, но он очень большой, могу дать маленький кусочек.
    def q_on_time(self):
        return self.make_query(
                self.lproject_and_taskhistory_join,
                (self.taskhistory_filters_statuses + self.task_not_canceled +
                 self.date_filter(Task.sa.completion_completed)),
                (Task.sa.delivered_on_time, Task.sa.id)
        ).group_by(Task.sa.id).\
        add_columns( (Task.sa.delivered_on_time == 1).label('delivered') ).\
        from_self().group_by(*self.grouper).\
        add_columns(
            (func.sum(expression.column('delivered')) / func.count(Task.sa.id)).label('on_time') 
        )


Если оно вам поможет, пожалуйста. Если учесть, что это одна из 10 составляющих запроса, то как это выразить на Django ORM я вообще не знаю. Оно там в итоге еще и джойнится.
Это ваше личное восприятие. Ни одна брызга не долетела до монитора в процессе написания топика, гарантирую.

А вот рассуждать об уровнях, когда вы сами только что сказали, что SQLA в упор не знаете, как то наивно, нет?
Статья в общем то не об этом, но я согласен с ingspree. Flask, Jinja2, SQLAlchemy. И еще много разных библиотек.
Это не агрессия, это экспрессия, тёма-стиль изложения. Цель ввести читателя в состояние сильного возмущения, чтобы он бросил читать статью после первых двух строк, и потом измываться над ним за это в комментах. Жаль только карма страдает так сильно, что на следующую статью уже может и не хватить :D
«MongoDB is web scale».
Каждый видит, то что хочет, но зачем? Ну вот вы узнали о том, что не SQL единым, и теперь ищете тот самый гвоздь, это нормально, мы все так делаем. Но в статье то явно упоминается, что в Django просто нельзя достаточно хорошо контролировать конечный SQL, оттого и нужно иногда инструмент помощнее.
В гугл, пожалуйста, за несентетическими запросами. А эта статья на о сравнении Django ORM и SQLAlchemy. Это для тех, кто это и так знает.
Эксперт-нечитаютопики, я этот пример сам опустил в той самой статье, которую вы не читали. Сравнение Django ORM и SQLAlchemy проведите для себя сами, мне это ненужно. Вам нужно, вы и делайте себе сравнительный анализ. Когда я решу написать статью «почему джанго орм сливает sqla», я ее так и озаглавлю.
Так я их совершенно по делу опустил. Это понимают все здравые люди, кроме «экспертов».
А можете подробнее, если не сложно?
«Читать статью, потом комментировать». Повторять каждые полчаса в течении двух минут.
Читаем статью:

> И в некоторых Django проектах возникает необходимость в сложных запросах, на которые стандартный
> ORM неспособен. Условно предположим, что в момент создания проекта считалось, что Django ORM вполне хватит.

Мне кажется, что данная строка отвечает на вашу эскападу полностью. Вопрос, почему вы не прочитали статью, оставим за кадром, селяви и хаброэксперты на марше.
Да потому что сырой SQL практически невозможно написать так, чтобы можно было следовать DRY. Пока вы это будете делать — нафигачите еще одну либу.
Бал «экспертов» продолжается? Ну тоже значит рекомендую к прочтению www.sqlalchemy.org/docs/
Это не реализация, это рассказ как переехать на SQLA с джанго. А у меня библиотека, которая дает легкий путь к генерации SQLA запросов.
Да ну тут как почитаешь «экспертов» в комментариях, которые SQLAlchemy в глаза не видели и требуют от меня доказать что оно лучше, так пожалуй коброй станешь.
Да, вы пропустили прочесть статью. Статья о том, как ничего не править в проекте, а взять и нафигачить запрос на SQLA без головной боли и без переопределения моделей. Такой вот финт для застарелых проектов, которые переписывать слишком долго.
Это не такой уж франкенштейн, вполне рабочее решение. Генерировать ли модель данных по Django моделям, или брать какую-то обертку для этих целей — такая уж ли это большая разница?

Information

Rating
Does not participate
Location
Самара, Самарская обл., Россия
Date of birth
Registered
Activity