<small id='3jXq4'></small><noframes id='3jXq4'>

<tfoot id='3jXq4'></tfoot>

<i id='3jXq4'><tr id='3jXq4'><dt id='3jXq4'><q id='3jXq4'><span id='3jXq4'><b id='3jXq4'><form id='3jXq4'><ins id='3jXq4'></ins><ul id='3jXq4'></ul><sub id='3jXq4'></sub></form><legend id='3jXq4'></legend><bdo id='3jXq4'><pre id='3jXq4'><center id='3jXq4'></center></pre></bdo></b><th id='3jXq4'></th></span></q></dt></tr></i><div id='3jXq4'><tfoot id='3jXq4'></tfoot><dl id='3jXq4'><fieldset id='3jXq4'></fieldset></dl></div>
    <legend id='3jXq4'><style id='3jXq4'><dir id='3jXq4'><q id='3jXq4'></q></dir></style></legend>

      • <bdo id='3jXq4'></bdo><ul id='3jXq4'></ul>
      1. 使用 django orm 生成更新查询

        时间:2023-07-24

        • <i id='6b0Ht'><tr id='6b0Ht'><dt id='6b0Ht'><q id='6b0Ht'><span id='6b0Ht'><b id='6b0Ht'><form id='6b0Ht'><ins id='6b0Ht'></ins><ul id='6b0Ht'></ul><sub id='6b0Ht'></sub></form><legend id='6b0Ht'></legend><bdo id='6b0Ht'><pre id='6b0Ht'><center id='6b0Ht'></center></pre></bdo></b><th id='6b0Ht'></th></span></q></dt></tr></i><div id='6b0Ht'><tfoot id='6b0Ht'></tfoot><dl id='6b0Ht'><fieldset id='6b0Ht'></fieldset></dl></div>

            • <bdo id='6b0Ht'></bdo><ul id='6b0Ht'></ul>
                <tbody id='6b0Ht'></tbody>
              <legend id='6b0Ht'><style id='6b0Ht'><dir id='6b0Ht'><q id='6b0Ht'></q></dir></style></legend>

              <tfoot id='6b0Ht'></tfoot>

              <small id='6b0Ht'></small><noframes id='6b0Ht'>

                  本文介绍了使用 django orm 生成更新查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我需要使用 django orm 来实现这个查询:

                  I need to implement this query using django orm:

                  update table set field=field+1 where id=id
                  

                  我不想用这个:

                  o = model.objects.get(id=id)
                  o.field+=1
                  o.save()
                  

                  因为它使用 select 和 when update,而不是线程安全的.

                  because it use select and when update, and not thread safe.

                  如何通过 orm 实现?

                  How to implement this via orm?

                  推荐答案

                  前面的回答者都有部分解决方案:你应该使用 updateF():

                  Both the previous answerers have part of the solution: you should use update in conjunction with F():

                  Model.objects.filter(id=id).update(field=F('field') +1))
                  

                  注意,这是一个就地更新,根本不需要 SELECT.

                  Note this does an in-place UPDATE without any need for SELECT at all.

                  这篇关于使用 django orm 生成更新查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:基于组成员身份使用 Flask-LDAP3-Login 进行身份验证 下一篇:SQLAlchemy 在一个事务中更新多行

                  相关文章

                • <i id='77Jb9'><tr id='77Jb9'><dt id='77Jb9'><q id='77Jb9'><span id='77Jb9'><b id='77Jb9'><form id='77Jb9'><ins id='77Jb9'></ins><ul id='77Jb9'></ul><sub id='77Jb9'></sub></form><legend id='77Jb9'></legend><bdo id='77Jb9'><pre id='77Jb9'><center id='77Jb9'></center></pre></bdo></b><th id='77Jb9'></th></span></q></dt></tr></i><div id='77Jb9'><tfoot id='77Jb9'></tfoot><dl id='77Jb9'><fieldset id='77Jb9'></fieldset></dl></div>
                  <legend id='77Jb9'><style id='77Jb9'><dir id='77Jb9'><q id='77Jb9'></q></dir></style></legend>
                  1. <small id='77Jb9'></small><noframes id='77Jb9'>

                      <tfoot id='77Jb9'></tfoot>
                        <bdo id='77Jb9'></bdo><ul id='77Jb9'></ul>