我得到的错误是“'帮助'对象不可迭代”。我如何从数据库中获取最新记录并将其显示在我的目标 html 页面上
我的 views.py 是
def about_experiment(request,ex_link_name):
researcher = None
study = None
posts = None
if request.method == 'POST':
form = AboutHelp(request.POST)
posts = help.objects.filter().order_by('-date')[0]
#print(posts)
if form.is_valid():
obj = form.save(commit = False)
obj.save()
researcher = form.cleaned_data['researcher']
study = form.cleaned_data['study']
else:
form = AboutHelp()
return render(request, 'about_experiment.html', {'posts': posts})
我的目标页面 about_experiment.html 是
{% for help in posts %}
<h4><b>{{ help.study }}</b></h4>
<p>posted by {{ help.researcher }} on {{help.date}}</p>
{% endfor %}
添加到巫毒汉堡的答案:
posts = help.objects.filter().order_by('_date')
返回一个查询集,它是一个可迭代的。但是随后您添加[0]
,因此您只能从查询集中获取一个对象,因此它不会是可迭代的。
因此,在您的模板中,您只需使用{{ posts.field_name }}
.
因为您只返回一个对象,所以post
是一个更合乎逻辑和描述性的名称posts
(如voodoo-burger 所述)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句