django框架使用orm实现批量更新数据的方法

yipeiwu_com7年前Python基础

本文实例讲述了django框架使用orm实现批量更新数据的方法。分享给大家供大家参考,具体如下:

好久没有用django来改版博客了,突然感觉到生疏了。没办法,业余玩python,django,工作用java的原因,也只能如此。在用django写一个类别更新的时候同时更新子类的parentcode, 如果是自己写原生的sql的话,很好解决。但既然用 django 就用 django 的 orm 去实现:

最简单的方法:

MyModel.objects.filter(parentcode=ori_code).update(parentcode=new_code)

最基本的方法,我居然忘记了。一个完整的例子:

def updatecategory(request):
  comtype=request.POST.get('comtype','')
  catname=request.POST.get('categoryname','')
  myid=int(request.POST.get('id',''))
  parentid= request.POST.get('parentid','')
  catcode=request.POST.get('categorycode','')
  cat=models.Category.objects.get(autoid=myid)
  ori_parent_code = cat.catcode;
  if cat:
    cat.comtype = comtype
    cat.catname = catname
    cat.parentcode = parentid
    cat.catcode = catcode
    cat.save()
    if cat.parentcode == '-1':          models.Category.objects.filter(parentcode=ori_parent_code).update(parentcode=cat.catcode)

这样就能得到正确结果了,虽然很基础的东西,还是容易健忘的。年龄大了,不得不服老呀,写日志记录下来吧

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

相关文章

Python实现FM算法解析

Python实现FM算法解析

1. 什么是FM? FM即Factor Machine,因子分解机。 2. 为什么需要FM? 1、特征组合是许多机器学习建模过程中遇到的问题,如果对特征直接建模,很有可能会忽略掉特征与特...

Python实现mysql数据库更新表数据接口的功能

前言 昨天,因为项目需求要添加表的更新接口,来存储预测模型训练的数据,所以自己写了一段代码实现了该功能,在开始之前,给大家分享python 操作mysql数据库基础: #coding...

在Python中画图(基于Jupyter notebook的魔法函数)

这篇文章主要介绍了在Python中画图(基于Jupyter notebook的魔法函数),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...

Python抽象类的新写法

记得之前learn python一书里面,因为当时没有官方支持,只能通过hack的方式实现抽象方法,具体如下 最简单的写法 class MyCls(): def foo(self...

python距离测量的方法

之所以写这个,其实就是希望能对距离有一些概念,当然这个也是很基础的,不过千里之行始于足下嘛,各种路径算法,比如a*什么的都会用到这个 距离测量有三种方式 1、欧式距离,这个是最常用的距离...