
Артем
11.05.2018
06:39:59
Мне подсказали)) бейте меня тапками. Так загрузился что двойные фигурные поставил
)))

Hot
11.05.2018
06:41:29
@Artem_98 гитхаб-то завёл уже себе?
Есть сорцов каких почитать?

Google

Артем
11.05.2018
06:42:15
Нее еще))
Еше только учусь
Вот как лоханулся)) как в шаблоне ставил двойные так и во вьюхах выставил??

serbernar
11.05.2018
06:45:13

Hot
11.05.2018
06:45:27
Может я любопытный очень.

serbernar
11.05.2018
06:45:43
Ток не читай мои сорцы после 10 вечера, икать не люблю

Hot
11.05.2018
06:45:44
А вообще люблю время от времени почитать сорцы какого-нибудь новичка, дать пару советов и т.д.

serbernar
11.05.2018
06:45:56
О, мои глянь

Hot
11.05.2018
06:45:57
Сделать мир чуть лучше, а сообщество менее токсичным.
Ну кидай.

serbernar
11.05.2018
06:46:16
Щя

Massimo
11.05.2018
07:08:01

Hot
11.05.2018
07:08:20
Ну рассказывай, что ты сломал на этот раз?

Google

Massimo
11.05.2018
07:08:49
ORM)

Forgotten
11.05.2018
07:10:09
Кстати да, есть какие-нибудь советы по прокачке скила в написании запросов с помощью ORM? Как-то очень тяжело идут сложные запросы(

Hot
11.05.2018
07:10:46
Да, находишь компанию, где группа питонистов встала и ушла.
Оставив после себя горы легаси-говна.
Устраиваешься туда на работу.

Алексей
11.05.2018
07:11:18
и делаешь аналогичное

Hot
11.05.2018
07:11:19
И через полгода ты делаешь всякие извраты на ORM, через F, Q, Extract и так далее.

Andrey
11.05.2018
07:11:25

Hot
11.05.2018
07:11:37

Andrey
11.05.2018
07:11:40
Т.е. надрачиваешь не ORM а SQL

Forgotten
11.05.2018
07:11:55
?

Dan
11.05.2018
07:12:07
ну вообще да =) так правильнее

Massimo
11.05.2018
07:12:57
ТАк блэт

Hot
11.05.2018
07:13:23
Не, этого как раз мы пытаемся избежать.

Massimo
11.05.2018
07:13:25
Я начал первый ему жаловаться, в очередь.
Сейчас я скину один запрос вдб а ты расскажи как сделать его грамотным чтобы работал
Вопрос в том как сделать так чтобы weight и main_list шли одним запросом

Hot
11.05.2018
07:17:04
Так а что тебе мешает их в один annotate засунуть-то?

Google

Massimo
11.05.2018
07:19:01
https://dpaste.de/pcSm
Djn vjlrtkm
Мешает то что у меня есть три модели которые зависят цепочкой друг от друга
И если я прошу чтобы Сделал квери модели Route и чтобы посчитал km и price - то считает нормльно. Но если попросить его еще посчитать pipe_weight мдели CMR которая зависит через м2м от Arm то он начинает умножать значение Arm на количество зависимых CMR от Arm
Мне подсказали сделать через Subquery только он тоже выдавал ошибку

Hot
11.05.2018
07:23:58

Massimo
11.05.2018
07:24:11
Что именно?

Hot
11.05.2018
07:26:52
То сообщение, на которое ответил, что я его не распарсил ?

Massimo
11.05.2018
07:28:31
Исправил

Hot
11.05.2018
07:29:28

Andy
11.05.2018
07:32:13

Massimo
11.05.2018
07:32:51

Hot
11.05.2018
07:33:18

Andy
11.05.2018
07:33:30

Hot
11.05.2018
07:33:34
всм
А, с mageia перепутал, сорян.

Massimo
11.05.2018
07:34:12

Google

Massimo
11.05.2018
07:34:22
А енто нельзя делать

Dan
11.05.2018
07:34:40
у тебя нет групировки =)
суму по всей таблице ?

Massimo
11.05.2018
07:35:27
Так а способа выводить одно значение на конкретную итерацию есть разве?

Dan
11.05.2018
07:35:49
в смысле по конкретной строке ?

Massimo
11.05.2018
07:37:12
Если мы говорим о конкретном сабквери, то хотелось бы что бы выводил сумму полей объектов относящийся к тому объекту, к кторому обращается сабквери

Dan
11.05.2018
07:37:28
ааа =)
ну так таи делай

Massimo
11.05.2018
07:38:17
Таи?

Dan
11.05.2018
07:39:01
должно быть что то вроде
.annotate(
sum=Subquery(
Model.objects.values(pk=OuterRef('pk')).annotate(sum=Sum('field')).order_by().sum
)
)

serbernar
11.05.2018
07:39:31

Hot
11.05.2018
07:40:11
hibernate, я, кстати не понял.

Massimo
11.05.2018
07:40:13
В OutrerRef просто вписать pk?

Hot
11.05.2018
07:40:15
Коллеги-джависты юзают.
Какой-то крос-СУБД-шный скуль.
Вроде даже HQL-инъекции под него как-то пишутся.

serbernar
11.05.2018
07:40:45
Orm же

Dan
11.05.2018
07:41:02
точнее так
.annotate(
sum=Subquery(
Model.objects.filter(parent_id=OuterRef('pk')).values('parent_id').annotate(sum=Sum('field')).order_by().sum
)
)
@massakeel первый вариант не правильный

Google

Massimo
11.05.2018
07:42:20

Dan
11.05.2018
07:44:50
это связь Model с внешней моделью

Massimo
11.05.2018
07:45:20
То ест parent_set_id?

Dan
11.05.2018
07:45:25
нет
почему ?

Massimo
11.05.2018
07:45:46
Ну а как обратиться к родительской м2м модели еще?

Dan
11.05.2018
07:46:03
https://dpaste.de/pcSm
ты про это ?
нормальный запрос покажи
целиком

Massimo
11.05.2018
07:47:30

Dan
11.05.2018
07:48:42
а CMR как связан с Route ?

Massimo
11.05.2018
07:49:39
Никак, CMR зависит от Arm, а Arm от Route

Dan
11.05.2018
07:50:05
а с arm он как связан ?

Massimo
11.05.2018
07:50:30
M2M

Dan
11.05.2018
07:50:58
слушай ну чего я из тебя клещами вытаскиваю
тебе помощь нужна ?

Massimo
11.05.2018
07:51:51
https://dpaste.de/DJfp

Dan
11.05.2018
07:52:02
ты показал
class CMR(models.Model):
pipe_weight = models.DecimalField(max_digits=6, decimal_places=3, blank=True, null=True)
class Arm(models.Model):
price = models.DecimalField(max_digits=10, decimal_places=2, blank=True, default='0')
km = models.PositiveIntegerField(null=True, blank=True)
class Route(models.Model):
arms = models.ManyToManyField(Arm, null=True)
где указание связи ?

Massimo
11.05.2018
07:52:50
ты показал
class CMR(models.Model):
pipe_weight = models.DecimalField(max_digits=6, decimal_places=3, blank=True, null=True)
class Arm(models.Model):
price = models.DecimalField(max_digits=10, decimal_places=2, blank=True, default='0')
km = models.PositiveIntegerField(null=True, blank=True)
class Route(models.Model):
arms = models.ManyToManyField(Arm, null=True)
где указание связи ?
Там в Arm ошибку допустил, пропустил поле cmrs = models.ManyToManyField(CMR, null=True)

Dan
11.05.2018
07:53:24
во первых у тебя два annotate оба возвтращают ключи с одинаковым именем