2009-10-09 45 views
4

假設我有2個模型。Django SELECT語句,訂購

第二個模型與第一個模型具有一對一的關係。

我想從第一個模型中選擇信息,但是第二個模型的ORDER BY。我怎樣才能做到這一點?

class Content(models.Model): 
    link = models.TextField(blank=True) 
    title = models.TextField(blank=True) 
    is_channel = models.BooleanField(default=0, db_index=True) 

class Score(models.Model): 
    content = models.OneToOneField(Content, primary_key=True) 
    counter = models.IntegerField(default=0) 

回答

7

我認爲你可以這樣做:

Content.objects.filter(...).order_by('score__counter') 

更一般地,當模特有關係,你可以選擇,排序和過濾器的領域上使用relationshipName__fieldName僞屬性「其他」模式你正在選擇的模型。