只在变量-Python函数-Django-视图中添加某些字段



我有一个带有CharFields‘flname1’、‘date1’和‘time1’的Django模型我的HTML的目标是有一个{{forloop}},它只运行"date1"one_answers"time1"字段并显示所有字段我的问题是在我的视图文件中,我找不到一种方法来创建一个python变量,该变量只包含一个模型中三个字段中的两个。我试了很多,但我想避免的是…

posts = DocPost.objects.all()

这将所有三个字段放入一个变量中,并将它们显示在我不想要的for循环中。我也尝试了很多过滤器和其他人在互联网上成功的东西,但对我来说不起作用,比如。。。

posts = DocPost.objects.filter('flname1').only('date1', 'time1')

这不起作用,也没有将off-date1和time1分段,并将它们打包在一个我可以循环使用的变量中。在这一点上,我已经尝试了很多,但都没有成功。谢谢你的帮助。

您可以做两件事来只获取查询中的某些字段并对其进行迭代。两者的模板几乎是相同的

首先,您可以使用only((生成一个查询集,其中每个对象只填充了某些字段,其余的都是延迟

# View
context['posts'] = DocPost.objects.only('date1', 'time1')
# Template
{% for post in posts %}
{{ post.date1 }}
{{ post.time1 }}
{% endfor %}

其次,您可以使用values((生成一个字典查询集,该查询集只包含指定的字段

# View
context['posts'] = DocPost.objects.values('date1', 'time1')
# Template
{% for post in posts %}
{{ post.date1 }}
{{ post.time1 }}
{% endfor %}

最新更新