【发布时间】:2011-09-12 10:46:51
【问题描述】:
有没有办法从 django-nonrel 的数据库中返回项目,在外键上使用“order_by”?
详细内容如下:
#模型.py 类帖子(模型。模型): article = models.TextField(help_text='在此处粘贴或键入 HTML') pub_date = models.DateField() …… 类标签项目(模型。模型): 标题 = models.CharField(max_length=200) …… 类 TagRel(模型。模型): the_post = models.ForeignKey('Post') the_tag = models.ForeignKey('标签')TagRel 定义了 Post 和 TagItems 类之间的多对多关系。
我想获取每个标签的文章列表。
#期望输出 我的标签 -我的第一篇文章 -我的第二个帖子 我的第二个标签 - 我的另一篇文章 - 另一个帖子到目前为止一切都很好,因为我使用以下内容过滤数据:
def 标记的帖子(): tag_items = TagItems.objects.all() 李=[] 对于 tag_items 中的项目: tag_rel_item = TagRel.objects.filter(the_tag__pk = item.pk) li.append(tag_rel_item) 返回 {'list_of_objects': li}我正在使用 db-indexer 在 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 中也不起作用。
所以我的问题是如何返回按日期(最新>最旧)排序的帖子?
提前致谢
【问题讨论】:
-
我也有同样的问题。解决方法是使用信息创建一个文本字段,但我想避免这种情况。
标签: sql-order-by django-nonrel