[英]django get distinct value from queryset
我有一个模型:
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应该是唯一的。
我怎么能得到这个。 请帮忙
对于像MySQL这样不支持distinct('...')
后端,请使用Organisation.objects.values('first_parent').distinct()
,这将为您提供{'first_parent': value}
字典列表
要获取仅值的列表,请执行
parent_list = [org['first_parent'] for org in Organisation.objects.values('first_parent').distinct()]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.