我希望能够检索添加到我的Article
和SharedArticle
模型的最新文章。
import itertools
articles = Article.objects.all()[:15]
shared = SharedArticle.objects.all()[:15]
all_articles = sorted(itertools.chain(articles, shared),
key=lambda x: x.date_created, reverse=True)[-10:]
在合并这两个查询结果后,我得到了总共30个中的最新10个,并且查询结果的唯一共同点是date_created
列。
我如何从articles
获取最新的shared
和all_articles
?
答案 0 :(得分:2)
第一篇文章:
next(obj for obj in all_articles if isinstance(obj, Article))
最后一篇文章
next(obj for obj in all_articles[::-1] if isinstance(obj, Article))
第一个SharedArticle:
next(obj for obj in all_articles if isinstance(obj, SharedArticle))
最后的SharedArticle
next(obj for obj in all_articles[::-1] if isinstance(obj, SharedArticle))