ORM的对应关系

​ 类 —— 》 表

​ 对象 ——》 记录(数据行)

​ 属性 ——》 字段

class  Book(model.Model):
title=models.CharFiled(max_length=32) 类-----------------表 # Book------- app01_book
属性变量-----------字段 # title------ title
属性对象-----------约束 # models.CharFiled(max_length=32)
类实例对象---------表记录

ORM操作

  1. 查询

    1. models.Publisher.objects.all() # 查询所有的数据 ——》 QuerySet 对象列表

    2. models.Publisher.objects.get() # 获取满足条件的一个对象 ——》 单独的对象

    3. models.Publisher.objects.filter() # 获取满足条件的所有对象 ——》对象列表

    4. models.Publisher.objects.all().order_by('id') # 排序 —— 》 对象列表

    5. pub_obj.pk ——》 主键

    6. pub_obj.name

    7. 外键

      1. book_obj.publisher ——》 关联的对象

      2. book_obj.publisher_id ——》从book表中获取关联对象的ID

      3. book_obj.publisher.name ——》 关联的对象的属性

    8. 多对多

      1. author_obj.books ——》 管理对象

      2. author_obj.books.all() ——》 关联的所有的对象 对象列表

      3. book_obj.author_set ——》管理对象、

  2. 增加

    1. models.Publisher.objects.create(name='xxx') ——》 对象

    2. 外键

      1. models.Book.objects.create(title='xxx',publisher=pub_obj)

      2. models.Book.objects.create(title='xxx',publisher_id=pub_obj.id)

    3. 多对多

      1. models.Author.objects.create(name='xxxx') ——》 author_obj

      2. author_obj.books.set([多个要关联对象的id,])

      3. author_obj.books.set([多个要关联对象,])

  3. 删除

    1. models.Author.objects.get(id=1).delete()

    2. models.Author.objects.filter(id=1).delete()

  4. 修改

    1. pub_obj.name = 'new_xxxx'

    2. pub_obj.save()

    3. 外键

      1. book_obj.title = 'xxxx'

      2. book_obj.publisher = pub_obj 或者 book_obj.publisher_id = pub_obj .id

      3. book_obj.save()

    4. 多对多

      1. author_obj.name = 'new_name'

      2. author_obj.save()

      3. author_obj.books.set([多个要关联对象,]) author_obj.books.set([多个要关联对象的id,])

orm的操作的更多相关文章

  1. Django中的ORM进阶操作

    Django中的ORM进阶操作 Django中是通过ORM来操作数据库的,通过ORM可以很easy的实现与数据库的交互.但是仍然有几种操作是非常绕也特别容易混淆的.于是,针对这一块,来一个分类总结吧. ...

  2. Django ----- app 和 ORM的操作和介绍

    创建APP ORM 介绍 ORM的操作 说明一下 GET 和 POST 的区别: , GET ①获取一个页面 ②提交数据 数据显示在URL ?user=alex&pwd=alexdsb ,PO ...

  3. Django框架详细介绍---ORM相关操作

    Django ORM相关操作 官方文档: https://docs.djangoproject.com/en/2.0/ref/models/querysets/ 1.必须掌握的十三个方法 <1& ...

  4. Django-website 程序案例系列-4 ORM数据库操作

    数据库表的创建: 使用mysql时注意,在setting.py中的设置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql' ...

  5. golang学习笔记16 beego orm 数据库操作

    golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...

  6. Golang beego ORM + CRUP 操作详解

      构建beego Web 项目         首先构建一个beego 的web 项目,这个我们完全可以参考beego 官网中的开发文档,上面介绍的非常的详细,在这我就不给大家介绍,主要是介绍ORM ...

  7. Django 2.0 学习(16):Django ORM 数据库操作(下)

    Django ORM数据库操作(下) 一.增加表记录 对于表单有两种方式: # 方式一:实例化对象就是一条表记录france_obj = models.Student(name="海地&qu ...

  8. Django 2.0 学习(14):Django ORM 数据库操作(上)

    Django ORM 数据库操作(上) ORM介绍 映射关系: 数据库表名 ---------->类名:数据库字段 ---------->类属性:数据库表一行数据 ----------&g ...

  9. Django框架 之 ORM查询操作详解

    Django框架 之 ORM查询操作详解 浏览目录 一般操作 ForeignKey操作 ManyToManyField 聚合查询 分组查询 F查询和Q查询 事务 Django终端打印SQL语句 在Py ...

  10. Django ORM models操作

    title: Django ORM models操作 tags: Django --- Django ORM models操作 Django ORM基本操作 一.数据库的创建及增删改查 1 使用类创建 ...

随机推荐

  1. SAP HR工资配置项1---工资计算周期配置

    对于工资计算,三个方面需要配置:工资计算期.工资类型.工资. 下面是工资期内的配置: 1.在定义参数 在参数指示工资的频率. 主题 设置期间參数 菜单路径 SAP 用户化实施指南→工资核算→工资核算: ...

  2. ios7 获取UITablleViewCell

    iOS7之前UITablleViewCell中得contentView得superView就是UITableViewCell.但是在iOS7得时候,contentView得superView确实UIT ...

  3. ASP POST请求

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  4. 自绘LISTVIEW的滚动条(Delphi实现)

    因项目需要准备对LISTVIEW的滚动条进行自绘.于是在网上搜了一下,问题没解决,却搜出一篇令人不愉快的帖子 .确实,那时候实力是不够的,但现在应该是没问题了,为这个目的才不断磨练自己的. LISTV ...

  5. WM_SIZE后于WM_CREATE消息!!在窗口被创建时的顺序!

    WM_SIZE   procedure WMSize (var Message: TWMSize); message WM_SIZE; 参数说明 wParam: Specifies the type ...

  6. UWP开发学习笔记2

    RelativePanel控件: 用法 描述 RelativePanel.Above 设置当前element为目标element的上方 RelativePanel.AlignBottomWith 设置 ...

  7. .Net DateTime跨时区相关问题

    项目:.Net CS结构,WCF通信,MySql存储. 场景:客户端(UTC+07:00)获取本地时间(DateTime对象)2017-01-17 15:20:12,通过WCF(http)传输至服务端 ...

  8. win32 htmlayout dom操作demo

    之前两篇关于win32 htmlayout博文,记载了一个实现了简单的点击按钮弹出新窗口的demo,之后实践中发现,图形界面开发,最重要的还是要实现响应用户操作,改变原有界面的功能.比如说,界面上有一 ...

  9. 把#define宏转换成指定格式

    之前在弄一个东西的,有一大堆的宏,需要把它转换成其它的形式.遇到这种大批量的东西,我特别没有耐心去一个一个的弄,于是写了一段代码. 估计大家平常比较难用得上,不过可以平常相似的情况用来参考. Sort ...

  10. WebBrowser中获得脚本中的变量值

    //项目中添加Micrsoft.mshtml引用 --c:/temp/temp.htm-- <html> <script language="JavaScript" ...