
Sasha
06.06.2016
17:44:01
А зачем в джангу алхимию?

Belegnar
06.06.2016
17:44:16
Вместо орм
Он тупой иногда

Sasha
06.06.2016
17:44:25
Нормальная там ормка

Google

Dmitry
06.06.2016
17:45:27

Belegnar
06.06.2016
17:45:31

Dmitry
06.06.2016
17:47:06
да хер ли там говорить. в какой версии туда миграции завезли? в 1.7 ?

Pavel
06.06.2016
17:50:20

Dmitry
06.06.2016
17:58:22
кстати об ORM, там наследование классов все еще работает ублюдски или починили уже?

Sasha
06.06.2016
18:05:30

Dmitry
06.06.2016
18:05:41
это всё еще так?
или нормально, как polymorphic в sqlalchemy ?

Janek
06.06.2016
18:09:57
все еще так
приходится иттерировать, чтоб извлечь

Google

Dmitry
06.06.2016
18:18:22
в рот мне ноги :)
"авторам не нужно" :)

Jonh
06.06.2016
18:21:53
Спасибо за такой годный пример, буду теперь всем рассказывать, какой же джанго кал

Dmitry
06.06.2016
18:22:22
я просто как представлю, сколько sql запросов полетит в базу лишних на этих "итерированиях"...

Pavel
06.06.2016
18:23:37
Как будет выглядеть в алхимии структура таблиц в этом случае?

Dmitry
06.06.2016
18:23:48
и сразу понятно, почему какая-нить "главная страница", на которой толком ничего и нет, вваливает 130 запросов, когда включаешь django-debug-toolbar

Jonh
06.06.2016
18:24:24
Получается, на питоне нет годных веб-фреймворков, чтобы их разрабатывало не полтора землекопа и не приходилось каждый проект собирать из говна и палок?

Pavel
06.06.2016
18:25:00

Dmitry
06.06.2016
18:25:31
после нижнего запроса вернутся все работнички, причем инженер вернется инженером, а менеджер менеджером

Pavel
06.06.2016
18:26:54
я спрашивал про sql, раз это так важно. полиморфизм и в джанге есть, только не родной.
https://django-polymorphic.readthedocs.io/en/latest/quickstart.html#making-your-models-polymorphic

Dmitry
06.06.2016
18:28:33
а теперь реальный кейс. у меня прямо сейчас в IDE открыт проект, в котором есть, например, некий BaseTask, а от него наследуются два десятка разных типов, типа QualityApprovalTask, FitSampleTask и прочего
и когда мне надо вывести Activity Line (все задачи в календарь, в порядке приоритета и дедлайнов), они собираются одним запросом, без всяких итерирований

Pavel
06.06.2016
18:29:52
django-polymorphic обещает inner join делать в этом случае.

Dmitry
06.06.2016
18:29:55
пользовался этой херней еще во времена 1.1 :D
со странностями, скажем так

Pavel
06.06.2016
18:31:13
просто если смысл претензий к джанге "из коробки нет того того и того", то о фласке я вообще не понимаю, как можно говорить, там нет просто никуя. ?

Google

Dmitry
06.06.2016
18:32:47
и это прекрасно! :) не нужно отрывать базу, если она не нужна :) просто не ставь алхимию :)
у джанги еще поди оторви. а если оторвешь, отвалятся сразу все ништяки, начиная с contrib.auth :D
а сколько было ебли с UserProfile...
и дополнительные поля в эту таблицу. и другую таблицу и указать её класс в settings.py
и левой рукой, и правой, и вприсядку :)

Марк
06.06.2016
18:55:55
Я тут подумал, а как в подобном случае передать посредством Пайтона, что какой-нибудь козел ебет овечек?

Janek
06.06.2016
18:56:03

Teddy
06.06.2016
18:56:28
Ну, сам класс-модель

Janek
06.06.2016
18:56:36
нет
ты не понял
смотри

Janek
06.06.2016
18:56:54
o = session.query(Nomen)
filter = [o.name, "!=", "onbfdsf"]
а бля
стоп
догнал

Марк
06.06.2016
18:57:03
Операция присваивания - как-то неоч

Janek
06.06.2016
18:57:04
тихо
как ты сказал про О большое, сразу понял ошибку
лол

Google

Марк
06.06.2016
18:57:46
По идее, концептуально, это должна быть перегрузка

Janek
06.06.2016
18:57:59
спасибо, Тедди
ты меня спас
йопть
o = session.query(Nomen)
filter = [Nomen.name, "!=", "onbfdsf"]
for i in o.filter(get_condition(*filter)):
print(i.name)
а я всесто Номен писал о
а такого аттрибута нет у результата запроса

Teddy
06.06.2016
18:59:09
угу

Admin
ERROR: S client not available

Janek
06.06.2016
18:59:26
спс
ввело в заблуждение маленькое о

Teddy
06.06.2016
19:00:24
да я сам ошибся =)

Belegnar
06.06.2016
19:10:26

Dmitry
06.06.2016
19:10:56

Belegnar
06.06.2016
19:12:20

Dmitry
06.06.2016
19:13:22
шта?
это не sql?

Belegnar
06.06.2016
19:13:34
Т.е. у тебя структура классов не для джанги

Google

Dmitry
06.06.2016
19:13:56
да, дядя, это же ORM
конечно блеать это питон
сцуко, откуда же вы все лезете на свет то
нет, ёба, обычно люди orm ставят, чтобы с ручника sql запросы ебашить. как в джанге, да

Belegnar
06.06.2016
19:14:47
Так речь о том, что sqla городить правильный sql

Dmitry
06.06.2016
19:16:07
выражайся яснее
а то ты что-то там хочешь сказать, видимо умное, но в штанинах путаешься

Марк
06.06.2016
19:16:47
По идее, если ебать овечек, то необходимо определиться, там уже инициализированный стек или еще нет? С одной стороны, легкомысленно выставить sheep.is_sex_s_kozlom в None => его не переопределить. Значит False. Дальше, если брать процесс, то следует сделать проверку соответствия типов, попутно иниализировав флаг sheep.is_luck = False... Боже что я несу?

Belegnar
06.06.2016
19:17:13

Dmitry
06.06.2016
19:19:10
чувак, тут всю дорогу речь о том, что шаг вправо, шаг влево - "ограничения фреймворка, не рекомендуется"

Belegnar
06.06.2016
19:19:44

Dmitry
06.06.2016
19:19:47
и тут ты такой, хоба и выпрыгнул из подвала :)

Belegnar
06.06.2016
19:19:58

Dmitry
06.06.2016
19:20:21
конечно нормально. убогий фреймворк :)
для сайтов с новостями
им хватит, для простых сайтов ок
но мы то тут причем? :)

Марк
06.06.2016
19:26:32
А для сложных что?