Упорядочивание объектов запроса в Django - PullRequest
0 голосов
/ 29 января 2012

Я пытаюсь упорядочить результаты моего запроса в некотором роде / дочернем порядке.Мне интересно, есть ли простой способ сделать это.

Объект:

Video : [id, parent_id, date]  // where parent_id can be null - meaning it is a 'root' node.

Упорядочение наборов запросов Я хочу:

Video 1: [123, null, 01/11]
  Video 2: [111, 123, 02/11]
  Video 3: [144, 123, 04/11]

Video 4: [191, null, 03/11]
  Video 5: [118, 191, 03/11]
  Video 6: [121, 191, 05/11]

Video 7: [411, null, 04/11]

...

Есть ли способ добиться такого рода упорядочения родительских / дочерних групп в наборе запросов?1009 *

Ответы [ 2 ]

0 голосов
/ 30 января 2012

Вам необходимо использовать django-mptt , который решит эту проблему для вас.

Более подробную информацию о MPTT можно найти в Википедии

0 голосов
/ 29 января 2012

Если вам нужно использовать это на уровне шаблона, вы можете использовать тег шаблона regroup, чтобы изменить порядок запросов:

https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#regroup

{% regroup videos by parent_id as group %}
{% for video in group %}
    {{ video.grouper }}
    {% for child in group.list %}{{ child }}{% endfor %}
{% endfor %}
...