Django-从外键中选择不同的值

Django-从外键中选择不同的值,django,django-models,Django,Django Models,很可能有一个明显的方法可以做到这一点,但我没有,所以很抱歉我提出了一个noobish的问题 我有这样的模型: class Speaker(models.Model): name = models.CharField(max_length=50) class Talk(models.Model): title = models.CharField(max_length=50) speaker = models.ForeignKey(Speaker) 我怎样才能优雅地得到

很可能有一个明显的方法可以做到这一点,但我没有,所以很抱歉我提出了一个noobish的问题

我有这样的模型:

class Speaker(models.Model):
    name = models.CharField(max_length=50)

class Talk(models.Model):
    title = models.CharField(max_length=50)
    speaker = models.ForeignKey(Speaker)
我怎样才能优雅地得到所有演讲人的名单

目前,我正在做一些可怕的事情,获取所有会谈的列表并循环它们,因为我看不到使用Django的ORM的简单方法

Speaker.objects.exclude(talk=None)

编辑

查看底层SQL(通过在表达式末尾添加
.query.as_SQL()
),后一种形式似乎效率更高。前者执行完全不必要的子查询


我怀疑这是一个bug,因为第一个表单是在1.0版之前发生的大规模queryset重构中引入的,应该是首选表单。

出于兴趣-这两者之间是否存在行为或性能差异?@Daniel-看起来这已经有了一张票()。但不知道什么时候能修好,因为马尔科姆最近似乎在Django开发中并不那么活跃。
Speaker.objects.filter(talk__isnull=False)