首页 > 解决方案 > Django在模板中获取ManyToMany变量

问题描述

我必须与多对多关系链接的模型:

class Event(models.Model):
    user = models.ForeignKey(User, blank=True, null=True, on_delete=models.CASCADE)
    title = models.CharField(max_length=512)

class Task(models.Model):
    event = models.ManyToManyField(Event, blank=True, related_name='tasks')
    description = models.CharField(max_length=1000, blank=True)

在 view.py 中,我通过以下方式收集所有用户事件:

events = Event.objects.filter(user=request.user)

现在在模板中我想用 event-task.description 循环显示每个事件

{% for event in events %}
    {{event.title}}
    {{event.task.description}}  ???
{% endfor %}

如何得到这份工作?

相关问题:link_1link_2

标签: djangodjango-templates

解决方案


试试这样:

{% for event in events %}
    {{event.title}}

    {% for task in event.tasks.all %}
        {{ task.description }}
    {% endfor %}
{% endfor %}

推荐阅读