2

Imagine that I have an mptt tree of objects and their population like:

Animal, 60

  • aardvark, 30
  • bobcat, 20
  • chipmunk, 10

Vegetable, 6

  • apple, 1
  • beet, 2
  • cauliflower, 3

Mineral 0

How would you sort the above by population on each sublevel? I want to get to:

Animal, 60

  • aardvark, 30
  • bobcat, 20
  • chipmunk, 10

Vegetable, 6

  • cauliflower, 3
  • beet, 2
  • apple, 1

Mineral 0

I am building off of mptt in django.

Dominic Rodger
  • 97,747
  • 36
  • 197
  • 212

3 Answers3

0

I've just solved a similar issue. You can use an order_by, but not simply by the field you want to sort by:

MyModel.tree.all().order_by('tree_id', 'level', 'your_sort_field')
affan
  • 56
  • 6
0

Try to add it in the models.py Meta Class.

Or on a subsidiary QuerySet

Andre Bossard
  • 6,191
  • 34
  • 52
0

Should an order_by simply work?

YourModel.tree.filter(your=stuff).order_by('order')
Dominic Rodger
  • 97,747
  • 36
  • 197
  • 212
msmart
  • 306
  • 2
  • 6