订购以下递归外键

时间:2012-04-09 16:21:32

标签: django django-models

在django flatpages上工作,我找到了这个资源: 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,但是找不到下面的逻辑。

1 个答案:

答案 0 :(得分:0)

您拥有的订单并不是特别有用。你将最终以show_after.id命令,这只是一个自动增量int。