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

yipeiwu_com5年前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全栈之列表数据类型详解

前言 列表(list)同字符串一样都是有序的,因为他们都可以通过切片和索引进行数据访问,且列表是可变的。 创建列表的几种方法 第一种 name_list = ['Python',...

对django views中 request, response的常用操作详解

request 获取post请求中的json数据 def hello(request): data = json.loads(request.body) ... json格式还...

基于Python 中函数的 收集参数 机制

定义函数的时候,在参数前加了一个 * 号,函数可以接收零个或多个值作为参数。返回结果是一个元组。 传递零个参数时函数并不报错,而是返回一个空元组。但以上这种方法也有局限性,它不能收集关键...

用Python抢过年的火车票附源码

用Python抢过年的火车票附源码

前言:大家跟我一起念,Python大法好,跟着本宝宝用Python抢火车票 首先我们需要splinter 安装: pip install splinter -i http://pyp...

python中bs4.BeautifulSoup的基本用法

导入模块 from bs4 import BeautifulSoup soup = BeautifulSoup(html_doc,"html.parser") 下面看下常见的用...