迭代组合查询集的最有效方法

时间:2011-11-04 11:02:11

标签: django django-queryset

假设我有这两个模型:

class Article (models.Model):
    author = models.ForeignKey(User)
    timestamp = models.DateTimeField()
    body = models.TexTField()

class Comment(models.Model):
    author = models.ForeignKey(User)
    timestamp = models.DateTimeField()
    content = models.TexTField()

一次性在用户的文章和评论上构建查询集的最有效方法是什么(并允许额外的过滤器或order_by,例如通过时间戳)? 理想情况下,此查询集(让我们称之为qs)的行为如下:

>>> qs.all()
[Article, Comment, Comment, Article, Article]
>>> qs.order_by('-timestamp')
[Article, Article, Comment, Comment, Article]

如果“timestamp”字段在模型中的命名方式不同,你会怎么做呢?

提前致谢!

0 个答案:

没有答案