我有三种模式:
class Studio(models.Model):
name = models.CharField("Studio", max_length=30, unique=True)
class Film(models.Model):
studio = models.ForeignKey(Studio, verbose_name="Studio")
name = models.CharField("Film Name", max_length=30, unique=True)
class Actor(models.Model):
film = models.ForeignKey(Film, verbose_name="Film")
name = models.CharField("Name", max_length=30, unique=True)
我想查询Actor以查看数据库中是否存在Studio,Film和Actor的特定组合。我知道如何检查Actor是否存在。我知道如何过滤演员姓名和电影名称。是否有单行方法来查询Actor名称和电影名称AND Studio名称(两次遍历外键链)?
答案 0 :(得分:7)
你可以这样做:
Actor.objects.filter(name="actorname",film__name="filmname", film__studio__name="studioname")
可以找到文档here
答案 1 :(得分:5)
继续链接__
以保持遍历:
Actor.objects.filter(film__studio__name='Something')
答案 2 :(得分:3)
中的某些内容
Actor.objects.filter(name='foo', film__name='bar', film__studio__name='baz')