python - Django 多对多

标签 python django many-to-many

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

    def __str__(self):
      return self.name


class Movie(models.Model):
    title = models.CharField(max_length=50)
    actors = models.ManyToManyField(Actor)

    def __str__(self):
       return self.title

如何从模板中的 Actor 对象访问 Actor 的电影?

我需要双向进行。

从电影到 Actor ,这都奏效了。

{{movie.actors.all}}

最佳答案

只需将related_name 放入actors 字段

actors = models.ManyToManyField(Actor, related_name="actor_movies")

然后在模板中:

{{ actor.actor_movies.all }}

或者如果您不想要related_name:

模板:

{{ actor.movie_set.all }}

关于python - Django 多对多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34972012/

相关文章:

python - 转置 Pandas 数据框中的一列,同时保持其他列完整无缺

python - 如何在列表中找到第二小的 UNIQUE 数字?

python - SQLalchemy 中不同表的关系

python - Ajax 的 Django csrf token

java - 多对多 - 仅在连接表和一张表中保存/更新

python - Django - ManyToMany 关系的管理器

python - 滑冰计分系统

python - django-tables2 将动态列从 hstore 添加到表类

django - 通过 Django 中的后端身份验证创建时将用户标记为新用户

c# - 没有第三类的 Linq to SQL 多对多关系