Найти - Пользователи
Полная версия: Как объединить queryset'ы по времени ?
Начало » Python для новичков » Как объединить queryset'ы по времени ?
1
MarkHammer
Здравствуйте уважаемые форумчане ! Помогите пожалуйста :

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

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 смог получить только отсортированный список объектов, но как их объединить ?
FishHook
MarkHammer
но как их объединить
Raw-sql запросом с джойном по Date_time. Только это тоже не гуд. Лучше сделайте нормальную полноценную реляцию по FK.
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