Задать вопрос

Как сделать сложную сортировку в Django сквозь две доп. таблицы?

Являюсь новичком в Django. SQL вроде понимаю, но вот с этими кверисетами никак не пойму.

У меня есть три таблицы (модели):

class Scheduler(models.Model):
    host_id = models.IntegerField()
    check_id = models.IntegerField()

class Hosts(models.Model):
    order = models.IntegerField(default=0)

class Checks(models.Model):
    order = models.IntegerField(default=0)

Не влияющие на суть вопроса поля я убрал.

И вот мне нужно получить список объектов Scheduler, чтобы они были отсортированы.
Простая сортировка вот так: order_by("host_id", "check_id") - сначала сортируем по host_id потом по check_id, это ясно.
Но мне нужно чтобы вместо host_id подставлялся order из таблицы Hosts, а вместо check_id подставлялся соответствующий order из таблицы Checks.

Может быть сами модели надо как то переделать для того чтобы такую сортировку можно было организовать без перебора всех объектов и сортировки по сути "вручную". Так то понятно, что можно просто перебрать все объекты Scheduler и вручную пересортировать. Но это будет индусское программирование...
  • Вопрос задан
  • 83 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Django: создание backend-приложений
    7 недель
    Далее
  • Skillbox
    Python-фреймворк Django
    3 месяца
    Далее
  • Stepik
    Django c ИИ ментором. С нуля до middle+. Программа курсов
    2 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы