Найти - Пользователи
Полная версия: Django ORM Sugar - теперь с поддержкой индексов и слайсов
Начало » Django » Django ORM Sugar - теперь с поддержкой индексов и слайсов
1 2 3
ayb
ZAN
Если делается сложный запрос, то из-за того, что параметр передается, как keyword, его нельзя использовать заново (к примеру, если нужно сортировать по тому же полю).

>>> field = "price"
>>> Product.objects.filter(**{field + "__gt": 3000}).order_by(field)
ZAN
ayb
Нет, простите, это форум и я могу высказывать свое мнение. Мое мнение отличается от Вашего ? Ну ничего страшного, так бывает.
Дело не во мнении, а в форме его подачи. Ваше хамское высказывание обесценивает не только труд сотен разработчиков Джанги, но и косвенно мой при создании библиотеки для, как вы выразились, говна.
ayb
При этом отказывается ответить на вполне нормальные вопросы.
Ну простите, это форум и я могу выбирать кому отвечать, а кому нет.
ZAN
ayb
Product.objects.filter(**{field + “__gt”: 3000}).order_by(field)
Oh RLY? Да пройдите уже по ссылке, я про все это писал.
FishHook
Скажу как джангист начинавший с джанго 1.2.
Я ни разу не имел геморроя с тем, что ошибался в количестве подчеркиваний.
Ты все равно будешь использовать этот синтаксис в запросах values, values_list, select_related, only и пр.
У меня куча кода основанного на именах полей формы аля “price__gt” или “name__icontains” из которых я формирую запросы на выборку.
Пайшарм - единственная вменяемая ИДЕ умеет подсказывать параметры джанговских запросов с подчеркиваниями.
Никакой гибкости ты от своих галлюцинаций не получаешь, ну попробуй хотя бы передать параметры в запрос в виде словаря.
Вообще, это идиотизм, никто не ждет в параметрах функции каких-то операций, нормальня ситуация, ПЕРЕДАЕМ АРГУМЕНТ ПО ИМЕНИ
call_function(a=1)
ненормальная ситуация
call_function(a>1)
никто так не делает, это извращение, хер его знает что мы вообще передаем.
Ерунда, чушь и бред.
ayb
ZAN
Дело не во мнении, а в форме его подачи.

Да какая разница какая форма подачи если смысл остается тот же. Мы же не маленькие дети.

ZAN
Ваше хамское высказывание обесценивает не только труд сотен разработчиков Джанги, но и косвенно мой при создании библиотеки для, как вы выразились, говна.

Да прямо там, прочитали разработчики Джанго что я думаю об их ОРМ и все, конец света для них настал. Кому-то не нравиться ОРМ ? Все пропало, наш труд обесценен. Самому-то не смешно ?

ZAN
Oh RLY? Да пройдите уже по ссылке, я про все это писал.

Да я все это понял. И понял что дает этот “сахарок”. Только хоть убейте но, все это прекрасно делается штатными средствами фреймворка и зачем тащить дополнительную зависимость в проект мне не понятно.
ZAN
FishHook
Еще один - мы на брудершафт не пили, не нужно мне тыкать. Однако, как тут все поменялось. На сим считаю тему закрытой.
JOHN_16 сделайте плз одолжение - выпилите тему нахрен.
ayb
ZAN
сделайте плз одолжение - выпилите тему нахрен.

Стоп! Я протестую. Чего Вы ожидали от этой темы ? Похвалы и оваций ? Вам предъявляют нормальные аргументы, предлагают вести дискуссию. Что за мода такая голову в песок зарывать если что-то не нравиться ?
JOHN_16
ZAN
я внимательно читаю топик, пока для этого разумных причин не вижу. Пока что я вижу что вы просто обиделись что не нашли поддержки конкретно вот здесь и сейчас. Ничего страшного не произошло, это естественный путь опенсорс продуктов - большинство из них максимум находит применение в крайне ограниченном круге. Не стоит огорчаться из за этого.
Дело в том что это довольно тяжелый вопрос -менять в целом концепцию работы фреймворка, пускай даже в достаточной степени очевидности. Представим что ваша это библиотека реальный cool и полный profit, но убедить в этом сообщество, да еще те кто на django делает opensource продукты которыми пользуются другие программисты? А сотни и тысячи “батареек” для Django?
Я не сильно погружен в вопрос, могу ошибаться, но в любом случае продвижение подобных решений это крайне сложный процесс. Вы , вероятно, к этому не были готовы.
Попробуйте представить ваш проект в англоязычной сфере, думаю что критических замечаний получите еще больше. Такова жизнь.
ZAN
JOHN_16
Вовсе нет, я уже получил вполне положительные отзывы от разработчиков джанги. Более того, мне показали наброски подобных подходов, которые уже делались ранее, так что, я думаю, похожий функционал рано или поздно будет поддерживаться из коробки. На данный момент главное для этого препятствие - легаси в SQLCompler-ре, который слишком завязан на кейворды, разрешение которых (field vs lookup keyword) происходит в самом конце. Да, в общем, я это уже пытался описать выше.
Так что на форуме я запостил, чтобы рассказать про готовый инструмент, хотя и в урезаном виде. Что меня реально задело - так это откровенный троллинг, ну или хамство, мой детектор не распознает. И если ayb просто школьник, то FishHook вроде бы как по-старше и даже здесь модератор.
Поэтому прокоментирую только его.
Скажу как джангист начинавший с джанго 1.2.
Я ни разу не имел геморроя с тем, что ошибался в количестве подчеркиваний.

Пайшарм - единственная вменяемая ИДЕ умеет подсказывать параметры джанговских запросов с подчеркиваниями.
Код нужно не только писать, но и читать, при чем последнее качество, на мой взгляд, еще более важное. С читабельностью становится не очень, если в именах полей тоже есть подчеркивания. Что касается слайсов - тут вообще без комментарий.

Ты все равно будешь использовать этот синтаксис в запросах values, values_list, select_related, only и пр.
Документацию не читаем, но критикуем - для этого есть специальный вызов get_path() чтобы сгенерить строку. Однако, order_by умеет принимать и F-объект, который можно привести к одному интерфейсу с Expressions (на уровне джанги, естесственно), тогда дергать get_path() не будет никакой необходимости.
Вообще, это идиотизм, никто не ждет в параметрах функции каких-то операций, нормальня ситуация, ПЕРЕДАЕМ АРГУМЕНТ ПО ИМЕНИ
Не идиотизм - здесь передается не keyword аргумент, а результат сравнения. Именно такой подход активно используется в SQLAlchemy, которую постоянно ставят в пример джанговской орм. http://docs.sqlalchemy.org/en/latest/core/sqlelement.html#sqlalchemy.sql.operators.ColumnOperators.__eq__ Эти люди тоже идиоты?

Ерунда, чушь и бред.
Баян, табуретка и утюг

В общем ладно - диалог здесь не особо конструктивный вышел, так что желаю всем успехов и не болейте.
FishHook
ZAN
ZAN
диалог здесь не особо конструктивный вышел
Вышел бы конструктивный диалог, если бы вы решили сделать что-нибудь полезное. В джанге куча узких мест, которые можно улучшать и развивать. Вы сделали то, что никому не нужно, нет потребности. Задача, безусловно, интересная, и вы молодец, потому что вы её решили. Но в практическом плане ценности решение не имеет. Если бы вы задались вопросом, как в этом ОРМе реализовать HAVING или джоин с несвязанной таблицей, вы бы получили задачу с практическим смыслом. Ваши теоретические размышления о том, как было бы лучше интересны, но вы бы спросили у практикующих джангистов хотя бы на этом форуме, надо кому-то вот такое-то изобретение, и вам бы сказали, что никто без него не страдает.
ZAN, вы меня извините за излишнюю резкость мысли, возможно я увлёкся празднованием дня святого Патрика и был излишне эмоционален. Ерунду, чушь и бред беру назад. В целом же картина для вас наверное ясна - ненужно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB