1

我有以下模型:

class People(models.Model):
    name=models.CharField

class Recordings(models.Model):
    title=models.CharField
    performers=models.ManyToManyField(People)

我需要得到所有的表演者,即至少一个录音的表演者列表中的人。

SQL 将是这样的:

SELECT * FROM people WHERE id IN (SELECT DISTINCT people_id FROM recordings_people)

或者

SELECT DISTINCT * FROM recordings_people JOIN people ON recordings_people.people_id=people.id

如何以优雅的方式对 Django ORM 做同样的事情?

4

1 回答 1

0

与排除一样简单 1,2,3:

People.objects.exclude(recordings=None)

够优雅吗?;)

于 2012-08-23T17:31:22.693 回答