2017-07-24 22 views
0

我有這個型號:Django的查詢集:僅獲得一個從組,責令

#models.py 

class Expression(models.Model): 
    text = models.CharField(max_length=254) 

class Country(models.Model): 
    name = models.CharField(max_length=100) 

class Definition(models.Model): 
    expression = models.ForeignKey(Expression) 
    country = models.ForeignKey(Country) 
    text = models.CharField(max_length=254) 

class Vote(models.Model): 
    definition = models.ForeignKey(Definition) 

這種觀點

#views.py 

def index(request): 
    # Here is where I want to get the queryset 
    return render(request, 'index.html', { 'definitions':definitions) 

然後在模板中的想法是這樣的:

#index.html 


Expression is {{ expression }} 
{% for definition in expressions.definitions_set.all %} 
    Country's "1" top definition for expression is {{ definition }} 
    Country's "2" top definition for expression is {{ definition }} 
    [etc] 
{% endfor %} 

我該如何獲得僅獲得每個國家/地區的頂級定義(通過投票)的定義的查詢集

回答

0

django docs link

您可以使用order_with_respect_toDefinition訂貨。

class Definition(models.Model): 
    expression = models.ForeignKey(Expression) 
    country = models.ForeignKey(Country) 
    text = models.CharField(max_length=254) 

    class Meta: 
     order_with_respect_to = 'country' 

也許我覺得我可以像上面那樣做。