Можно ли создать запрос django, который находит последние уникальные даты для двух моделей? - PullRequest
0 голосов
/ 23 января 2020

У меня есть две модели:

class ModelA(models.Model):
    active_date = DateField()
    # A bunch of other fields

class ModelB(models.Model):
    active_date = DateField()
    # A bunch of other fields

Мне нужен упорядоченный список значений active_date в таблице либо . Кроме того, мне нужно иметь возможность просматривать этот список (например, [0:10] или [10:20]). Список получится довольно длинным, поэтому я бы хотел сделать все это в запросе. В настоящее время я получаю мои даты, такие как:

a_dates = ModelA.objects.all().order_by('-active_date').distinct('active_date').values('active_date')
b_dates = ModelB.objects.all().order_by('-active_date').distinct('active_date').values('active_date')
dates_list = merge_dates(a_dates, b_dates) # function merges lists, drops duplicates, and puts in descending order
return dates_list[start:end]

Очевидно, что когда число моих сущностей станет большим, а этот список дат станет большим, это станет медленнее. Есть мысли о лучшем способе сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...