Есть ли способ вернуть элементы из базы данных в django-nonrel, используя order_by для чужой клавиши?
Полная информация выглядит следующим образом:
#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 определяет отношение ManytoMany между классами Post и 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-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.
Итак, мой вопрос, как мне вернуть мои сообщения, упорядоченные по дате (самая последняя> самая старая)?
Заранее спасибо