当前位置: 首页 > ds >正文

mysql bulk update_91.一次性处理多条数据的方法:bulk_create,update,delete

(1)bulk_create: 可以一次性的创建多个对象

示例代码如下:

from django.http import HttpResponse

from .models import Pulisher, BookOrder

def index(request):

publisher =Publisher.objects.bulk_create([

Publisher(name='hello出版社'),

Publisher(name='你好出版社')

])

return HttpResponse("success")

(2)update:可以一次性的更新所有的数据。

示例代码如下:

from django.http import HttpResponse

from .models import Pulisher, BookOrder

def index(request):

# 一次性的更新

BookOrder.objects.update(price=F('price')+5)

return HttpResponse("success")

(3)delete:一次性的把所有的满足条件的数据都删除掉,但是需要注意的是,删除数据的时候,要注意定义的外键在删除时处理的方式:on_delete。

示例代码如下:

from django.http import HttpResponse

from .models import Pulisher, BookOrder

def index(request):

# delete: 一次性的删除多满足条件的数据

BookOrder.objects.filter(pk__gte=5).delete()

return HttpResponse("success")

其中所使用的到的模型的定义文件models.py,示例代码如下:

from django.db import models

# 定义作者模型

class Author(models.Model):

name = models.CharField(max_length=100, unique=True)

age = models.IntegerField()

email = models.EmailField()

class Meta:

db_table = 'author'

def __str__(self):

return "%s,%s,%s" % (self.name,self.age, self.email)

# 定义出版社模型

class Publisher(models.Model):

name = models.CharField(max_length=100,unique=True)

class Meta:

db_table = 'publisher'

def __str__(self):

return " ->:%s" % self.name

def Publisher_Default():

return Publisher.objects.get_or_create(name='默认出版社')

# 定义图书模型

class Book(models.Model):

name = models.CharField(max_length=100, unique=True)

pages = models.IntegerField()

price = models.FloatField()

rating = models.FloatField()

author = models.ForeignKey('Author', on_delete=models.CASCADE)

publisher = models.ForeignKey('Publisher', on_delete=models.SET_DEFAULT, default=Publisher_Default)

score = models.FloatField(null=True)

class Meta:

db_table = 'book'

# def __str__(self):

# return "(书名:%s,页数:%s,价格:%s,打折:%s,作者:%s,出版社:%s)" % (self.name, self.pages, self.price, self.rating, self.author, self.publisher)

# 定义预定图书的模型

class BookOrder(models.Model):

book = models.ForeignKey('Book', on_delete=models.CASCADE)

price = models.FloatField()

time = models.DateTimeField(auto_now_add=True, null=True)

class Meta:

db_table = 'book_order'

http://www.xdnf.cn/news/11151.html

相关文章:

  • 如何更改pcAnywhere的默认端口(zz)
  • linux c可变参数va_start、va_end、va_arg、va_list
  • 使用计算机的便利,allshare play:只要几个步骤立即使用这个非常便利的功能!...
  • adobe dreamweaver cs5序列号
  • Ubuntu 9.04安装教程(傻瓜版)
  • struts2通配符使用
  • 如何在VirtualBox虚拟机中安装XP系统? 转
  • Android签名机制及PMS中校验流程(雷惊风)
  • Cadence Allegro PCB设计88问解析(七) 之 Allegro位号反标OrCAD
  • Java版文本编辑器
  • socks5 运行几个小时后 端口10808不通了,ss5服务正常
  • Spring整合Quartz框架实现定时任务跑批(Maven完整版)
  • 超级详细的GitLab安装 与使用 【Gitlab添加组、创建用户和项目、权限管理】_gitlab群组
  • 探秘GPT:开启人工智能语言模型的新纪元
  • Yandex 邮箱添加
  • 麒麟短线王至尊版 软件及指标 应用!
  • Linux系统下安装部署Linux管理面板1panel
  • Win11系统提示找不到olecli32.dll文件的解决办法
  • web.xml中context-param的配置作用
  • dll和so文件区别与构成
  • 世界环保创业基金会简介
  • LDAP 目录服务器的现代化应用
  • 动态实现RelativeLayout,LinearLayout布局
  • Lenovo笔记本新版Veriface Pro(人像识别)软件介绍
  • InstallShield 12 制作安装包
  • anaconda安装gdal、Fiona、shapely、pyproj、geopandas
  • size mismatch: error 在搭建网络的时候
  • 使用JavaScript实现选项卡
  • java内存区域理解-初步了解
  • 洛谷 P2452 [SDOI2005] 屠龙传说-屠龙枪卷