Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用django更新数据时如何获取多个数据?_Python_Django - Fatal编程技术网

Python 使用django更新数据时如何获取多个数据?

Python 使用django更新数据时如何获取多个数据?,python,django,Python,Django,我想使用多个复选框更新数据 这是我的观点 def update_kel_stat(request, id): if request.method == "POST": cursor = connection.cursor() sql = "UPDATE keluargapeg_dipkeluargapeg SET KelStatApprov='3' WHERE (PegUser = %s )" % id cursor.execute(sql) 这是我的template

我想使用多个复选框更新数据 这是我的观点

def update_kel_stat(request, id):
if request.method == "POST":
    cursor = connection.cursor()
    sql = "UPDATE keluargapeg_dipkeluargapeg SET KelStatApprov='3' WHERE (PegUser = %s )" % id 
    cursor.execute(sql)
这是我的template.html

<form method="post" action="" name="kel" enctype="multipart/form-data">
{% for keluarga in kels %}
    <tr id="{{ keluarga.KelID }}">
        <td>
            <a href="#">{{ keluarga.KelNamaLengkap }}</a>
        </td>
        <td>{{ keluarga.KelStatApprov }}</td>
        <td>{{ keluarga.KelKetRevisi }}</td>
        <td><input type="checkbox" name="kel[]"
                   value="{{ keluarga.KelID }}"></td>
    </tr>
{% endfor %}
<tr>
    <td>
        <button type="button" name="btn_delete" id="btn_delete"
                class="btn btn-success"
                onClick="setDeleteAction();">Approve
        </button>
    </td>
</tr>
</form>

{keluarga的百分比,单位为kels%}
{{keluarga.kelstataprov}}
{{keluarga.KelKetRevisi}}
{%endfor%}
批准

如何从template.html中的复选框到django view.py中获取多个值?

首先,对于这样简单的查询,不建议用户使用原始SQL。使用django ORM更新某些记录非常容易:

Entry.objects.filter(id=10).update(comments_on=False)
至于你的问题,你可以这样做。在模板中:

{% for keluarga in kels %}
    <input type="checkbox" name="kel" id="kel{{ forloop.counter }}" value="{{ keluarga.KelID }}">
    <label for="kel{{ forloop.counter }}">Choice {{ forloop.counter }}</label>
{% endfor %}

首先,对于这样简单的查询,不建议使用原始SQL。使用django ORM更新某些记录非常容易:

Entry.objects.filter(id=10).update(comments_on=False)
至于你的问题,你可以这样做。在模板中:

{% for keluarga in kels %}
    <input type="checkbox" name="kel" id="kel{{ forloop.counter }}" value="{{ keluarga.KelID }}">
    <label for="kel{{ forloop.counter }}">Choice {{ forloop.counter }}</label>
{% endfor %}


为什么要使用原始SQL?尤其是为什么要对原始SQL使用字符串替换,因为原始SQL是SQL注入攻击的明显载体?我只想要简单的方法,然后使用Django提供的功能:模型和表单。是的,但在Django中最简单的方法是让Django处理所有SQL。不写你自己的SQLUPPOWED只是为了不让你有负面分数的问题。。。有些人只是喜欢贬低别人。。。这有点补偿了他们短裤里的东西。。。仅仅因为你做了错事并不意味着这个问题必须被否决。如果您没有做错任何事情,那么您首先就不会在这里发布问题……为什么要使用原始SQL?尤其是为什么要对原始SQL使用字符串替换,因为原始SQL是SQL注入攻击的明显载体?我只想要简单的方法,然后使用Django提供的功能:模型和表单。是的,但在Django中最简单的方法是让Django处理所有SQL。不写你自己的SQLUPPOWED只是为了不让你有负面分数的问题。。。有些人只是喜欢贬低别人。。。这有点补偿了他们短裤里的东西。。。仅仅因为你做了错事并不意味着这个问题必须被否决。如果你没有做错什么,你就不会在这里发帖了……这个循环似乎毫无意义。为什么不
Kel.objects.filter(id\uu in=kels).update(…)
?@DanielRoseman你说得对,它好多了。我会更新我的答案,谢谢。url中是否也使用多个参数来获取“id”?或者像这样使用
url(r'^karyawan/update/(?P\d+)/$),views.update\u kel\u stat,name='update')
@Debujang您可以保持url现在的状态。无需修改,因为ID将从POST表单传递到视图。循环似乎毫无意义。为什么不
Kel.objects.filter(id\uu in=kels).update(…)
?@DanielRoseman你说得对,它好多了。我会更新我的答案,谢谢。url中是否也使用多个参数来获取“id”?或者像这样使用
url(r'^karyawan/update/(?P\d+)/$),views.update\u kel\u stat,name='update')
@Debujang您可以保持url现在的状态。无需修改,因为ID将从POST表单传递到视图。