如何在 Django 中查看表单和查询集?

Posted

技术标签:

【中文标题】如何在 Django 中查看表单和查询集?【英文标题】:How to pass to view a form and a queryset in Django? 【发布时间】:2021-05-29 14:08:03 【问题描述】:

我还是菜鸟和 Django,我没有遇到这个问题。

我正在尝试向我的所有客户发送一个表单和一个查询集,但是查询集没有返回。

我在 trabalhos\views.py 中执行此操作,查询集来自 clientes\models 中的模型

谁能帮帮我?这真是让我头疼。

谢谢

def novotrabalho_view(request, *args, **kwargs):
    if request.method == 'POST':
        form = novoTrabalho(request.POST)
        if form.is_valid():
            codigo = form.cleaned_data['codigo']
            nome = form.cleaned_data['cliente']
            paciente = form.cleaned_data['paciente']
            dispositivo = form.cleaned_data['dispositivo']
            tecnico_responsavel = form.cleaned_data['tecnico_responsavel']
            

            c = trabalho(codigo=codigo, cliente=nome, paciente=paciente, dispositivo=dispositivo, tecnico_responsavel=tecnico_responsavel)
            c.save()



    form = novoTrabalho()
    listaclientes = cliente.objects.all()
    

    return render(request, "novotrabalho.html", 'form': form, 'listaclientes': listaclientes )

【问题讨论】:

“未返回查询集”是什么意思? 我无法在我的视图中迭代查询集,数据不存在。感谢您的回复。 clients吗?你能检查数据库是否有cliente 记录,它为print(listaclientes) 打印什么? 当然可以。我有几个客户。如果我将 listaclientes 作为 HttpResponse 返回,我得到:cliente 对象 (1)cliente 对象 (2)cliente 对象 (3)cliente 对象 (4)cliente 对象 (5)cliente 对象 (6) 到视图或模板。你在这里分享了观点。模板是novotrabalho.html 【参考方案1】:

发现错误...在视图中...我的 for 循环是: % for c in listaclientes % 我将问题更改为:% for c in listaclientes %

【讨论】:

以上是关于如何在 Django 中查看表单和查询集?的主要内容,如果未能解决你的问题,请参考以下文章

Django Newbie - 使用多字段表单,如何消除查询集中的空字段

在 Django 中,如何在模板中手动构造表单集?

如何比较 Django 查询集

如何在 Django 的表单中拥有嵌套的内联表单集?

已解决:如何在 Django 中的表单错误中重新显示带有选定值的表单集和 Select2 字段

Django:如何在 ajax 中返回模型表单集并在模板中使用