Django PREFETCH_RELATED - 只有模板中显示的第一个元素

时间:2016-05-18 09:11:06

标签: django

我使用prefetch_related来获取反向关系行。一切都很好,唯一的例外是我只得到很多关系中的一个。通过例子更好地解释。

型号:

class Tasks(models.Model):
    #...

class TaskResponsiblePeople(models.Model):
    task = models.ForeignKey('Tasks', related_name='task_responsible_people')

查看:

def showTasks(request):
   tasks = Tasks.objects.prefetch_related('task_responsible_people').all()
   return render_to_response('task_management/task_list.html',
                         {'responsible_people_form':responsible_people_form,
                          'tasks':tasks},
                          context_instance=RequestContext(request))

{% for task in tasks %}
    <tr>
        <td>
            <ul>
                {% for resp in task.task_responsible_people.all %}
                    <li>{{resp.auth_user.first_name}}</li>
                {% endfor %}
            </ul>
        </td>
    </tr>
{% endfor %}

这里的问题是,对于其中一项任务,我有几个负责任的人,但仍然只能使用它们。是因为我必须使用前缀&#34; _set&#34;代码中的某个地方?如果我这样做,我最终会收到一条错误消息

0 个答案:

没有答案