python - 在 django 视图中添加 for 循环
问题描述
这是我的 django 视图。它基本上做的是,它从 Html 视图中获取检查的数据。但是我必须遍历视图中或模板中的每个数据,这样我不仅可以获得子测试的名称,而且它是fields.Subtest 是我的模型的名称,名称是它的字段
def create_test_bills(request):
if request.method == 'GET':
selected = request.GET.getlist('selected')
for i in range(0,len(selected)):
a = selected [i]
print(selected)
print(a)
sub_test = Subtest.objects.filter(name=a)
return render(request,'report.html',{'sub_test':sub_test})
解决方案
你可以使用 django 过滤器__in
https://docs.djangoproject.com/en/3.0/ref/models/querysets/#in
而不是循环遍历它:
def create_test_bills(request):
if request.method == 'GET':
selected = request.GET.getlist('selected')
if len(selected) > 0:
sub_test = Subtest.objects.filter(name__in=selected)
return render(request,'report.html',{'sub_test':sub_test})
推荐阅读
- javascript - SetTimeout 和 For 循环
- java - 无法使用路径/Uri 从存储中设置图像
- input - 改变训练好的卷积神经网络的输入形状是否合理
- python - 带有 Python 请求的光标分页
- c# - 如果使用左键单击事件显示 WPF ContextMenu 会丢失数据上下文
- python-3.x - 产生数字的代码并检查我产生的数字是否是素数
- postgresql - 如何在 POSTGRESQL 中向用户授予物化视图的刷新权限?
- ironpython - IronPython 使用 Python 2 还是 Python 3?
- selenium - 调整量角器配置以在非无头模式下调试
- html - 全宽(块)按钮不会在 IE 中与样式一起显示