有沒有一種方法可以在django-nonrel中使用'order_by'在外鍵上返回數據庫中的項目?Django-nonrel按foreignkey排序
全部細節如下:
#Models.py class Post(models.Model): article = models.TextField(help_text='Paste or type HTML in here') pub_date = models.DateField() .... class TagItems(models.Model): title = models.CharField(max_length=200) .... class TagRel(models.Model): the_post = models.ForeignKey('Post') the_tag = models.ForeignKey('Tag')
TagRel定義郵政和TagItems類之間的多對多關係。
我想獲取每個標籤的文章列表。
#Desire output My tag -my first post -my second post My second tag - my other post - another post
所有的已經很不錯了,因爲我使用以下方法來過濾數據:
def tagged_posts(): tag_items = TagItems.objects.all() li =[] for item in tag_items: tag_rel_item = TagRel.objects.filter(the_tag__pk = item.pk) li.append(tag_rel_item) return {'list_of_objects': li}
我使用DB-索引來定義db-indexes.py查詢的過濾器部分。所有這些工作正常,但我想按發佈日期排序。
Django文檔告訴我用:
TagRel.objects.filter(the_tag__pk = item.pk).order_by('the_tag__pub_date')
但ORDER_BY( 'the_tag__pub_date')的部分不會出現由Django的nonrel支持。
下也適用於普通的Django:
TagRel.objects.filter(the_tag__pk = item.pk).order_by('the_post')
這工作,因爲該帖子已經按日期模型中的排序。
但是這在django-nonrel中也不起作用。
所以我的問題是如何返回按日期排序的帖子(最新>最舊)?
在此先感謝
我也有同樣的問題。解決方法是用信息創建一個文本字段,但我想避免這種情況。 – Lionel 2011-08-04 20:52:32