Python Django 1.11,不在模板中显示数据
我有一个简单的模型Python Django 1.11,不在模板中显示数据,python,django,Python,Django,我有一个简单的模型 class Task(models.Model): author = models.ForeignKey('auth.User', on_delete=models.PROTECT, related_name='+') name_task = models.CharField(max_length=1000) label_task = models.ManyToManyField(LabelTask) executive_man = model
class Task(models.Model):
author = models.ForeignKey('auth.User', on_delete=models.PROTECT, related_name='+')
name_task = models.CharField(max_length=1000)
label_task = models.ManyToManyField(LabelTask)
executive_man = models.ManyToManyField(User)
但在模板中,无法呈现所有数据,例如,视图中的代码
def task_detail(request, pk):
task = get_object_or_404(Task, pk=pk)
return render(request, 'task/task_detail.html', {'task': task})
<small>{{ task.author }}</small>
<h1>{{ task.name_task }}</h1>
<p>Label - {{ task.label_task }}</p>
<p>Executive - {{ task.executive_man }}</p>
模板看起来像
def task_detail(request, pk):
task = get_object_or_404(Task, pk=pk)
return render(request, 'task/task_detail.html', {'task': task})
<small>{{ task.author }}</small>
<h1>{{ task.name_task }}</h1>
<p>Label - {{ task.label_task }}</p>
<p>Executive - {{ task.executive_man }}</p>
{{task.author}
{{task.name_task}}
标签-{task.Label_task}
执行-{task.Executive_man}
但所有数据都显示良好,但标签-task.LabelTask.None
执行-
auth.User.None
我不正确。Label-不是数据而是
任务.LabelTask.None
执行-改为选择用户-
auth.User.None
但在我的管理中,一切看起来都很好。
希望你能帮助我。
多谢各位 这是因为这些字段是
ManyToManyField
,
要访问它们,需要在模板中使用all
,在python代码中使用all()
p>Label - {{ task.label_task.all }}</p>
<p>Executive - {{ task.executive_man.all }}</p>
p>Label-{{task.Label_task.all}
执行-{task.Executive_man.all}
或者你可以通过它们循环
p>Label -
{% for label in task.label_task.all %}
{{label}} {% if not forloop.last %},{% endif %}
{% empty %}
No label tasks
{% endfor%}</p>
<p>Executive - {% for man in task.executive_man.all %}
{{man}} {% if not forloop.last %},{% endif %}
{% empty %}
No Men
{% endfor%}</p>
p>标签-
{task.label_task.all%}
{{label}}{%if非forloop.last%},{%endif%}
{%empty%}
无标签任务
{%endfor%}
Executive-{任务中的人的百分比。Executive_man.all%}
{{man}}{%if非forloop.last%},{%endif%}
{%empty%}
没有男人
{%endfor%}
尝试通过以下方式获取数据:{{task.label\u task\u set.all.0}
cuz labeltask-是一个多对多字段,它包含一个嵌套查询集。谢谢<代码>&}-我认为这是一个错误的打字错误,如果没有的话也是。