Django学习之增删改查的API

Django中的API 之增删改查

这节讲述Django 的API中关于增删改查,并结合Odoo的内容进行比较。

总所周知,在以数据驱动的业务逻辑中,主要的业务就是对数据表的增删改查。本节,将介绍一下Django中的关于数据库的操作的API学习。

增 (共有4种)

create 返回值 为Object 具体创建的对象


save 返回值 为Object 具体创建的对象

x = Object()
x.attr = 'aaa'
x.attr1 = 'bbb'
返回值 为Object 具体创建的对象

Object.objects.get_or_create(**args) # Object 是模型名 args 是模型中字段的参数值

返回值为(对象,True/False)

delete 返回值为空

update

Object.objects.all() # Object 是模型名 返回的是记录集
Object.objects.get() # Object 是模型名 返回的是记录集
Object.objects.count() #  查询数量     返回的是记录集数量
Object.objects.exists() #  查询是否存在  返回的True/False

数据过滤:

Object.objects.filter(**value) # Object 是模型名  value 表示的是过滤的条件,filer筛选符合条件的数据

Object.objects.exclude(**value) # Object 是模型名  value 表示的是过滤的条件,exclude 排除筛选符合条件value的数据

Object.objects.all().reverse() # Object 是模型名 倒转所有的数据列表
Object.objects.all().distinct() # Object 是模型名,去重

记录集的操作:

合并  | 

Odoo中的API之增删改查

create    返回的创建的记录集

unlink    返回的是删除的记录集

write 无返回值

browse 传id,通过id搜索
search 通过条件进行搜索 search 中的条件,用元组包括,以波兰表达式进行组织(前缀表达式)
search_count 通过条件进行搜索,计数
read_group 通过数据进行分组
name_search many2one字段搜索时调用
search_read many2one点开搜索更多时调用