【问题标题】:How would you sort a django mptt tree?您将如何对 django mptt 树进行排序?
【发布时间】:2010-10-26 15:06:35
【问题描述】:

假设我有一个对象及其种群的 mptt 树,例如:

动物,60 岁

  • 土豚,30
  • 山猫,20
  • 花栗鼠,10

蔬菜,6

  • 苹果,1 个
  • 甜菜,2
  • 花椰菜,3个

矿物 0

您将如何按每个子级别的人口对上述内容进行排序?我想去:

动物,60 岁

  • 土豚,30
  • 山猫,20
  • 花栗鼠,10

蔬菜,6

  • 花椰菜,3个
  • 甜菜,2
  • 苹果,1 个

矿物 0

我正在 django 中构建 mptt。

【问题讨论】:

标签: django django-mptt


【解决方案1】:

尝试将其添加到models.py 元类中。

或者在子公司QuerySet

【讨论】:

    【解决方案2】:

    order_by 应该可以正常工作吗?

    YourModel.tree.filter(your=stuff).order_by('order')
    

    【讨论】:

    • 没有order 字段。
    【解决方案3】:

    我刚刚解决了一个类似的问题。您可以使用order_by,但不能简单地使用要排序的字段:

    MyModel.tree.all().order_by('tree_id', 'level', 'your_sort_field')
    

    【讨论】:

    • 如果深度级别变为 1 将不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    相关资源
    最近更新 更多