2011-11-17 118 views
2

鉴于以下车型如何通过过滤桥表字段来订购查询集?

class Blog(models.Model): 
    followers = models.ManyToManyField(User, through='Follow') 

class Follow(models.Model): 
    blog = models.ForeignKey(Blog) 
    user = models.ForeignKey(User) 
    created = models.DateField(auto_now_add=True) 

如果我有一个用户,我怎么能得到博客用户如下,由他们开始追踪他们的日期排序?

回答

1

尝试这样:

qs = user.blog_set.all().order_by("follow__created") 

对于降序使用以下命令:

qs = user.blog_set.all().order_by("-follow__created") 

我不知道关于 “ORDER_BY” 的一部分,但你可以 “玩” 它。

+1

[Django文档说](https://docs.djangoproject.com/en/dev/ref/models/querysets/#queryset-api):'order_by(“ - follow__created”)' – Droogans

+0

原来我有它在我尝试过的10件事中,有9件是正确的,而且这个工作正常。我使用的是DateField而不是DateTimeField,并且没有看到它首先将新创建的对象... – defrex