如何在Django视图中使用for循环返回每次迭代[关闭]
Posted
技术标签:
【中文标题】如何在Django视图中使用for循环返回每次迭代[关闭]【英文标题】:How to return each iteration using for loop in Django views [closed] 【发布时间】:2019-12-15 03:36:08 【问题描述】:如何打印模板中的所有for循环迭代
模型
观看次数
【问题讨论】:
请发布代码片段,而不是该代码片段的图像。进一步用清晰的输入/输出解释你的问题。最后分享相关模型。 这是我的视图 def View_Client(request): form = Client.objects.all() for i in range(len(form)): obj = Client.objects.filter(Name=form[ i]) print(obj) object = Client.objects.filter(Name=form[i]).values('id') print(object) cp_obj = Client_Process.objects.filter(client_id__in=object) print(cp_obj) return渲染(请求,'client_list.html','form':表单,'cp_obj':cp_obj) 请edit提问。 【参考方案1】:不要使用id
,Django 非常擅长让编写简单易读的代码。假设Client_Process
有一个ForeignKey
到Client
(即一个Client
可以有多个Client_Process
:
在你看来:
def view_client(request):
clients = Client.objects.all().prefetch_related('client_process_set')
return render(request, 'client_list.html', 'clients': clients)
在您的 client_list.html 中:
% for client in clients %
client.name
Client processes:
% for process in client.client_process_set.all %
process.name
% endfor %
% endfor %
【讨论】:
谢谢,我收到了一个新错误,例如在客户端对象上找不到“客户端进程”,“客户端进程”是 prefetch_related() 的无效参数 这是“client_process”而不是“Client_Process”。 Django 查找使用小写的模型类名。 我得到同样的错误在客户端对象上找不到“client_process”,“client_process”是 prefetch_related() 的无效参数 我有 3 个模型,请在问题中参考我的模型,我更新了 请不要使用截图。复制并粘贴您的代码并将其格式化为代码。以上是关于如何在Django视图中使用for循环返回每次迭代[关闭]的主要内容,如果未能解决你的问题,请参考以下文章