2012-04-09 52 views
0

Django上的flatpages工作,我发现这个的ressource: Bending django flatpages to your will订购下面的递归外键

发现它有用,但我无法弄清楚如何ExtendedFlatPages越来越有序。换句话说,我不明白:

flatPages = ExtendedFlatPage.objects.filter(child_of__isnull=True).order_by('-show_after') 

模型定义如下:

from django.db import models 
from django.contrib.flatpages.models import FlatPage 
class ExtendedFlatPage(FlatPage): 
    show_after = models.ForeignKey('ExtendedFlatPage', null=True, blank=True, default=None) 
    child_of = models.ForeignKey('ExtendedFlatPage', null=True, blank=True, default=None) 

我觉得这样做优雅的这种方式,因为你并不需要使用专用的场要订购ExtendedFlatPage,但无法找到下面的逻辑。

回答

0

您所拥有的订单并不特别有用。您将最终按show_after.id排序,这只会是一个自动增量int。

+0

谢谢你的回答...所以我是对的,它不工作,是吗?这一点似乎能够通过为每个页面指定前一个页面来排序页面,并且第一个页面可能为None。我还得出结论,即show_after.id的排序不是在做伎俩。顺便说一句,这家伙似乎成功地使用它,所以我想知道是否有一种“魔法”,我看不到... – 2012-04-09 16:51:55