Python ORM Bee V1.6.2 发布,复杂查询/like/in/分页
Pythone ORM Bee 让你使用 Python 开发数据库应用更简单!让你的AI开发真正的智能!
Flask + Bee 开发 python web 系统更加快.
几行代码,就能让你完成数据库的查改增删:
suid = Suid() #查询所有记录 orderList = suid.select(Orders()) # select all #插入一条记录 suid.insert(orders) #更新,删除记录 n1 = suid.update(orders) n2 = suid.delete(orders)
还支持active record风格编程:
use BaseMode for active record type. e.g. class Orders(BaseMode): #__tablename__ = "orders" id:int = None name:str = None remark:str = None def __repr__(self): return str(self.__dict__) if __name__ == '__main__': orders = Orders() orderList=orders.select()
主要功能
V1.6.2
1.6.2(2025.08)
1.condition支持like/like_left/like_right,in/not in;
eg: condtion.op("num", Op.IN, [1,2]); in可以支持的类型有:list/set/tuple type
2. 更新cache的相关配置:cache_never,cache_forever,cache_modify_syn config
3. 增强分页(LimitOffset)
4. 更新默认的命名类型(默认改为:不转换OriginalName)
5. 更新condition Expression(delete value3,value4)
6. 支持active record风格操作数据库
7. 兼容字段名/表名使用SQL关键字
往期回顾:
快速开始:
安装依赖包
在命令行输入以下命令:
pip install ormbee
ORM Bee pypi url:
https://pypi.org/project/ormbee/
1. 配置 db 连接信息
1. 配置db连接信息 1.1.can custom your db Module in bee.json or bee.properties set dbModuleName { "dbname": "SQLite", "database": "bee.db", //default support: pymysql,sqlite3,cx_Oracle,psycopg2 (no need set) "dbModuleName":"sqlite3" } #value is: MySql,SQLite,Oracle, #MySQL config #bee.db.dbname=MySQL #bee.db.host =localhost #bee.db.user =root #bee.db.password = #bee.db.database =bee #bee.db.port=3306 # SQLite bee.db.dbname=SQLite bee.db.database =bee.db 1.2.if do not want to use the default config file(bee.json or bee.properties), can set the db_config info yourself. # #mysql dict_config = { 'dbname':'MySQL', 'host': 'localhost', # 数据库主机 'user': 'root', # 替换为您的 MySQL 用户名 'password': '', # 替换为您的 MySQL 密码 'database': 'bee', # 替换为您的数据库名称 'port':3306 } honeyConfig= HoneyConfig() honeyConfig.set_db_config_dict(dict_config)
2. 使用 Bee 操作数据库
2. 使用Bee操作数据库 class Orders: id = None name = None remark = None # can ignore def __repr__(self): return str(self.__dict__) # also can use field type as :int class Orders8: __tablename__ = "orders" id:int = None name:str = None remark:str = None def __repr__(self): return str(self.__dict__) class Student2: id = None name = None age = None remark = None addr = None def __repr__(self): return str(self.__dict__) from bee.api import Suid, SuidRich from bee.config import PreConfig from bee.honeyfactory import BF from bee.osql.bee_enum import Op if __name__ == "__main__": # set bee.properties/bee.json config folder PreConfig.config_path="E:\\Bee-Project\\resources" # select record suid = Suid() orderList = suid.select(Orders()) # select all # insert orders = Orders() orders.id = 1 orders.name = "bee" orders.remark = "test" suid = Suid() suid.insert(orders) # update/delete orders = Orders() orders.name = "bee130" # For safety reasons # Fields that are not present in the entity will be ignored. orders.ext = "aaa" orders.id = 1 suid = Suid() n1 = suid.update(orders) n2 = suid.delete(orders) print(n1) print(n2) # batch insert student0 = Student2() student0.name = "bee" student1 = Student2() student1.name = "bee1" student1.addr = "" student1.age = 40 entity_list = [] entity_list.append(student0) entity_list.append(student1) suidRich = SuidRich() insertNum = suidRich.insert_batch(entity_list) print(insertNum) #how to use Condition for advanced query and update condition = BF.condition() condition.op("age", Op.ge, 22) condition.op("remark", Op.eq, None) stuList = suidRich.select(Student2(), condition) # select ... from student2 where age >= ? and remark is null for stu in stuList: print(stu) # all stu'age add 1 if id>5 condition = BF.condition() condition.setAdd("age", 1) condition.op("id", Op.ge, 5) updateNum = suidRich.updateBy(Student2(), condition) # update student2 set age = age + ? where id >= ? print("updateNum:", updateNum) #SuidRich: insert_batch,select_first,updateBy #复杂的where过滤条件、group,having,order by,Update Set等可使用Condition; 3. 其它功能 主要API在bee.api.py Suid: simple API for Select/Update/Insert/Delete SuidRich : select_paging, insert_batch, updateBy, select_first,select_by_id, delete_by_id,select_fun,count,exist,create_table,index_normal,unique PreparedSql: select, select_dict, modify, modify_dict
诚邀您的加入!
如果您还想添加什么功能,请到评论区告诉我们。
项目首页:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
十年磨一剑,初心终不负,写在 AntFlow 1.0.0 发布之际
十年前的那个深夜,我在十八线小城的出租屋里写下第一行流程执行代码时,绝不会想到它会在今天成为一款被数以千计的人点亮 ⭐ 的开源工作流引擎。 —— AntFlow 作者 TylerZhou 这段尘封的往事,直到 1.0.0 发布当天才第一次被公开。 其实 AntFlow 的故事远比 2024 年更早。 早在 2020 年,口罩还没爆发的时候,我和另一位同样痴迷工作流的朋友就曾在深夜的出租屋里,守着两台发烫的笔记本,用 Vue2 + ElementUI 撸出了一个可拖拽的流程设计器雏形。 那时候我们给它起了个土味名字——「EasyFlow」。 ✔ 能画节点、能连箭头 ✔ 支持会签/或签、打回修改 ✔ 甚至在 GitHub 上收获了第一批 20 颗星星 可命运总爱开玩笑: 2021 年春节前后,口罩突袭,开始了长达半年的居家办公,一下子突然不适应,工作效率极低,很多工作任务很难及时完成,antflow也基本处于停滞状态。 2022年,艰难地度过2021年,一切开始步入正轨,然而三月的某天的早上,同事开始一个个被HRBP叫去谈话,快到中午的时候终于到我了,不出意外,意外还是来了,我所在的项目组...
- 下一篇
Pale Moon 33.8.1.2 发布,苍月浏览器
Pale Moon 是一款基于 Goanna 的开源网页浏览器,适用于各种操作系统,包括 Microsoft Windows、Mac OS 和 Linux(以及其他操作系统)。Pale Moon 专注于高效性和定制化。 Pale Moon 浏览器完全基于其自主开发的源代码构建,该源代码几年前从 Firefox/Mozilla 代码中分叉而来。它精心挑选了各种功能并进行了优化,以提升浏览器的稳定性和用户体验。此外,它还提供完全的自定义功能以及不断更新的强大扩展程序和主题。 Pale Moon 33.8.1.2 现已发布,这是一个错误修复更新,旨在解决 NPAPI 插件在 v33.8.1.1 中无法正常工作的问题。 出于安全考虑,插件现在也默认设置为“请求激活”。建议用户保留此默认设置,并仅允许在计划使用插件的网站上激活插件。 详情可查看:https://www.palemoon.org/releasenotes.shtml
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果