Django:查询多对多关系
我在Django有很多亲戚 以下是我的模型:Django:查询多对多关系,django,many-to-many,Django,Many To Many,我在Django有很多亲戚 以下是我的模型: class Actors(models.Model): name = models.CharField(verbose_name="Actor's name", max_length=128) # other stuff class Meta: verbose_name = "Actor" ordering = ["name"] def __str__(self)
class Actors(models.Model):
name = models.CharField(verbose_name="Actor's name", max_length=128)
# other stuff
class Meta:
verbose_name = "Actor"
ordering = ["name"]
def __str__(self):
return self.name
class Movies(models.Model):
title = models.CharField(verbose_name="Movie's title", max_length=128)
casting = models.ManyToManyField("models.Actors", verbose_name="Actors")
# other stuff
class Meta:
verbose_name = "Movie"
ordering = ["title"]
def __str__(self):
return self.title
我想印一个演员演的所有电影。
因此,在我的演员看来,我得到了:
def actor(request, id):
actor = get_object_or_404(Actors, id=id)
# Trying to get the movies played by the actor
# -> goal : filter the casting field and compare
# the actors_id in movies_movies_actors to
# the id parameter
movies = Movies.casting.filter(actors_id=id)
return render(request, 'actors/actor.html.twig', {'actor': actor, 'movies': movies})
我没有找到正确的方法来访问铸造字段并获取显示“id”的所有行
你能帮我吗
Thx如果我的记忆正常,那么下面的语法应该就是您要查找的语法
movies = Movies.objects.filter(casting__actors_id=id)
如果我没记错的话,下面的语法应该是你要找的
movies = Movies.objects.filter(casting__actors_id=id)
与
相关的\u name
功能更强大:
def actor(request, id):
actor = get_object_or_404(Actors, id=id)
movies = actor.movies_set.all()
return render(request, 'actors/actor.html.twig', {'actor': actor, 'movies': movies})
与
相关的\u name
功能更强大:
def actor(request, id):
actor = get_object_or_404(Actors, id=id)
movies = actor.movies_set.all()
return render(request, 'actors/actor.html.twig', {'actor': actor, 'movies': movies})
Movie.objects.filter(角色扮演者)Movie.objects.filter(角色扮演者)很高兴能提供帮助!很高兴能帮上忙!