我想对mpttmodel实例进行简单的分页。我有一个模型:
class Thing(MPTTModel):
text = models.TextField()
parent = TreeForeignKey('self', null=True, blank=True, related_name='children')问题是,当我试图检索带有偏移量的对象时,比如:
Thing.objects.all()[5:10]{% recursetree things %}模板标记引发异常:Caught AssertionError while rendering: Cannot reorder a query once a slice has been taken.
如何解决?
发布于 2011-12-14 17:40:35
recursetree标记需要一个传递给它的查询集,该查询集没有应用数组切片限制语法。
您可以使用model and manager instances来构造更合适的查询集,或者调用recursetree并遍历节点,过滤掉它们,如果需要的话,再次使用所选节点从其中调用recursetree,但这会更复杂一些。
现在,看起来你可以实现你想要的:
nodes = [node.get_descendants(include_self=True)
for node in Thing.objects.all()[5:10]]在模板中:
{% for node in nodes %}
{% recursetree node %}...{% endrecursetree %}
{% endfor %}https://stackoverflow.com/questions/8501053
复制相似问题