Django-mptt 基于级别的不同顺序

Django-mptt different order based on level

我正在尝试制作一个基于 django-mptt 的线程评论系统。 我遇到的问题是评论的顺序不能根据他们的级别改变。

我想要实现的是一个系统,其中 "first level comments" 根据提交日期按升序排列,而 "nth level comments" (即回复)按相反方向排列(例如检查youtube 评论系统)。

我的插入顺序是这样定义的:

class MPTTMeta:
    order_insertion_by=['-submit_date']

recursetree templatetag 渲染带有评论的树。

有什么解决方案可以根据每条评论的等级来设置插入(或显示)的顺序吗?

谢谢

好的,我会自己回答这个问题。

为了让 "children" 以不同于 "roots" 的顺序排序,我添加了:

        childlist = list(node.get_children())
        childlist.sort(key=lambda x: x.submit_date, reverse=False)

在 class RecurseTreeNode 中可以在 mptt_tags.py 文件中找到。