django - 如何获取Queryset中所有对象的所有外键的Django QuerySet

标签 django django-queryset

我有一个模型(或实际上有2个模型,但另一个不那么相关)

class Foo(models.Model):
    ...
    bar = models.ForeignKey(Bar,
        ...
    )

当我有一个Foo:s的QuerySet时,如何获取该QuerySet引用的所有Bar实例?

由于我使用的是MySQL,因此无法执行.distinct(['bar'])

最佳答案

foo_queryset = Foo.objects.filter(attr=value)
referenced_bars = Bar.objects.filter(id__in=foo_queryset.values('bar_id'))

关于django - 如何获取Queryset中所有对象的所有外键的Django QuerySet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12600765/

相关文章:

django - 如何让 Django 1.5 自定义用户模型和社交身份验证工作?

Heroku 上的 Django : customizing django. po

Django:如何处理 Ajax 请求不同 View 中的缓存?

django - “私有(private)”模型、默认查询集和链接方法

Django 按升序排序查询集

python - Django Count和Sum批注相互干扰

python - Django - 使用外键获取对象

python - 无法使用 Django manage.py 创建 super 用户

Python Django 名称错误 : name 'datetime' is not defined

python - Django - 通过 bool 运算对模型进行排序的最佳方式