0

親/子のような方法でクエリの結果を並べ替えようとしています。これを達成する簡単な方法があるかどうか疑問に思っています。

物体:

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]

...

クエリセットでこの種の親子グループの順序付けを実現する方法はありますか?

4

2 に答える 2

0

この問題を解決するdjango-mpttを使用する必要があります。

ウィキペディアからの MPTT の詳細情報

于 2012-01-30T11:26:59.973 に答える
0

これをテンプレート レベルで使用する必要がある場合は、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 %}
于 2012-01-29T00:13:54.717 に答える