博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
djangoORM操作
阅读量:5240 次
发布时间:2019-06-14

本文共 1181 字,大约阅读时间需要 3 分钟。

表操作使用django集成的方法,

比如有一张User表:User.objects.all()  返回一个Queryset对象(数据类型list),里面是User表的所有行封装成的User对象。

User.objects是一个QuerySet实例。django查找一个对象显然是先查看是否内存中已经有了此对象,如果没有再去数据库查看。

 

增删改查的方法:

  增:objects.create()方法,此方法直接修改数据库

    - 实例化一个子类对象,再用save()方法

      - 如果子类对象里面有多对多关系,

        那么需要给多对多关系字段添加数据,有1个方法

 

例子:

title=request.POST.get("title")price=request.POST.get("price")date=request.POST.get("date")publish_id=request.POST.get("publish_id")author_pk_list=request.POST.getlist("author_pk_list") # [1,2]       book_obj=Book.objects.create(title=title,price=price,date=date,publish_id=publish_id), 上面这一步是在数据库生成这条数据,然后添加多对多关系:添加pk值可以,添加对象也可,多个添加用列表形式如下book_obj.authors.add(*author_pk_list)

 

    - 多条记录一次增加:使用save()方法,因为只要向数据库发起一次请求

  改:updata()方法,updata_or_create()方法,select_for_update()

updata()

""" 更新当前QuerySet中的所有元素,将所有给定字段设置为适当的值 """

 

select_for_update()

""" 返回一个新的QueReSET实例,该实例将选择更新锁定的对象。 """

updata_or_create()

""" Look up an object with the given kwargs, updating one with defaults if it exists, otherwise create a new one. Return a tuple (object, created), where created is a boolean specifying whether an object was created. """

删:

 

转载于:https://www.cnblogs.com/yuanji2018/p/10033957.html

你可能感兴趣的文章
Java实现二分查找
查看>>
架构图-模型
查看>>
黑马程序员_Java基础枚举类型
查看>>
UIImage 和 iOS 图片压缩UIImage / UIImageVIew
查看>>
django ORM创建数据库方法
查看>>
php7 新特性整理
查看>>
RabbitMQ、Redis、Memcache、SQLAlchemy
查看>>
知识不是来炫耀的,而是来分享的-----现在的人们却…似乎开始变味了…
查看>>
口胡:[HNOI2011]数学作业
查看>>
数据库锁机制及乐观锁,悲观锁的并发控制
查看>>
03 线程池
查看>>
手机验证码执行流程
查看>>
设计模式课程 设计模式精讲 2-2 UML类图讲解
查看>>
Silverlight 的菜单控件。(不是 Toolkit的)
查看>>
jquery的contains方法
查看>>
linux后台运行和关闭SSH运行,查看后台任务
查看>>
CAN总线波形中ACK位电平为什么会偏高?
查看>>
MyBatis课程2
查看>>
桥接模式-Bridge(Java实现)
查看>>
Spring的JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate
查看>>