Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 8, 2018 22:14:42

MarkHammer
Зарегистрирован: 2013-02-24
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Как объединить queryset'ы по времени ?

Здравствуйте уважаемые форумчане ! Помогите пожалуйста :

есть две модели:

class A(models.Model):
Date_time = models.DateTimeField()
Total_A = models.IntegerField(null=True)

class B(models.Model):
Date_time = models.DateTimeField()
Total_B = models.IntegerField(null=True)

Как мне при помощи queryset получить :

result = [ {'Date_time' = ‘2018-01-07 12:00’, ‘Total_A’ = 10, ‘Total_B’ = 12},
{'Date_time' = ‘2018-01-07 12:01’, ‘Total_A’ = 11, ‘Total_B’ = 17},
…. {'Date_time' = ‘2018-01-07 12:10’, ‘Total_A’ = 19, ‘Total_B’ = 0} ]

Пробовал во вложенном цикле пройтись по двум моделям и объединить их по времени - но это очень много времени занимает, при помощи связки itertools-chain смог получить только отсортированный список объектов, но как их объединить ?

Офлайн

#2 Янв. 9, 2018 08:11:05

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как объединить queryset'ы по времени ?

MarkHammer
но как их объединить
Raw-sql запросом с джойном по Date_time. Только это тоже не гуд. Лучше сделайте нормальную полноценную реляцию по FK.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version