Django 如何通过两个过滤器通过查询集访问外部字段?

Django 如何通过两个过滤器通过查询集访问外部字段?,django,django-models,django-queryset,Django,Django Models,Django Queryset,我有以下型号: class pair(models.Model): user = models.ForeignKey(User) institution = models.ForeignKey(Institution) class Institution(models.Model): name = models.CharField(max_length=250) class User(AbstractBaseUser, PermissionsMixin): e

我有以下型号:

class pair(models.Model):
    user = models.ForeignKey(User)
    institution = models.ForeignKey(Institution)

class Institution(models.Model):
    name = models.CharField(max_length=250)

class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(verbose_name='email address', max_length=255, unique=True)
我想按用户筛选并获取他们的关联机构的名称。以下筛选器似乎不起作用:

list_of_accounts = pair.objects.filter(user = request.user.id).values(institution__name)
当我这样做时,我会得到“全局名称”“机构名称”“未定义”

“机构名称”应使用单引号

或者,你也可以像我一样

list_of_accounts = request.user.pair_set.all().values_list('institution__name', flat=True)

谢谢,行得通。输出如下:[{'institution\uuu name':u'Johnson'},{'institution\uu name':u'Birbeck'},{'institution\uu name':u'LSU'}]。我怎么能有一个值列表呢?像[Johnson,Birbeck,LSU]一样,我读到了。但是我只是一个元组,它使得数据结构更加复杂不是吗?我明白了。我必须使用flat=True。完全正确。您必须使用flat=True
list_of_accounts = request.user.pair_set.all().values_list('institution__name', flat=True)