2012-04-09 49 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