Django在模板中获取ManyToMany变量

时间:2019-10-16 10:39:57

标签: django django-templates

我必须将模型与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

2 个答案:

答案 0 :(得分:1)

尝试这样:

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

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

答案 1 :(得分:0)

您可以使用.all。请尝试以下操作:

{% for event in events %}
    {{event.title}}
    {% for task in event.event.all %}{{ task.description }}{% endfor %}
{% endfor %}
相关问题