2015-06-05 167 views
0

不同的值我有一個模型:的Django得到查詢集

class Organisation(User): 
    organisation_name = models.CharField(max_length=200) 
    first_parent = models.ForeignKey('Parent', related_name="first", blank=True, null=True) 
    second_parent = models.ForeignKey('Parent', related_name="second", blank=True, null=True) 



    def __unicode__(self): 
     return self.username 

和我父模型:

class Parent(models.Model): 
    parent_name = models.CharField(max_length=50) 

    def __unicode__(self): 
     return self.parent_name 

在這裏,我想父母在我的模板,是唯一的列表。我不想要蔑視父母。

我曾經走過:

organisations = Organisation.objects.all().distinct('first_parent') 

但這不是MySQL支持。

我試圖從企業獲得的第一次家長的名單,然後其設定給只喜歡獨特的價值:

organisations = Organisation.objects.all() 
parent_list = organisations.first_parent ## it gives error says 'QuerySet' object has no attribute 'first_parent' 

我曾經想過在模板分組,但我沒能..

什麼我要的是first_parent或組織,其在模板ID的列表,以便我可以將其重定向到ID爲一些頁面像

{% for parent in parent_list %} 
    {{parent}} 
    <a href="{% url "some_url" parent.id %}" 

first_parent我得到的應該是唯一的。

我怎樣才能得到這個。請幫助

回答

0

對於不支持distinct('...')像MySQL後端,使用Organisation.objects.values('first_parent').distinct(), 這給你的{'first_parent': value}詞典

名單要得到的只是價值做

parent_list = [org['first_parent'] for org in Organisation.objects.values('first_parent').distinct()] 
列表