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点开搜索更多时调用