Flask and SQLAlchemy extensions for web applications
Project description
关于
Flaskz是Flask和SQLAlchemy ORM的扩展工具集, 主要用于web应用的开发, 可以快速灵活的实现各种业务场景并提供API。
使用
版本
- 1.8.3
2026/01/01- [A] 模型
Column.info对象添加cast_type属性(类型/函数), 用于指定列在排序/过滤时的类型转换 - [F] 修复
BaseModelMixin.query_pss方法有group分组查询时,count计数问题
- [A] 模型
- 1.8.2
2025/08/01- [F] 修复
BaseModelMixin.query_pss方法有outerjoin连接查询时,count计数问题 - [C]
BaseModelMixin.query_pss方法中outerjoin的对象修改为模型类的relationship对象
- [F] 修复
- 1.8.1
2025/05/01- [A]
BaseModelMixin添加delete_by和delete_by_query方法, 用于删除符合指定条件的数据 - [A]
ssh_run_command和ssh_run_command_list函数添加重试功能 - [A]
register_model_bulk_route函数添加with_relationship参数, 用于设置API批量操作时是否更新关系数据
- [A]
- 1.8.0
2024/06/01- [A] 扩展
flaskz.rest路由生成模块- 添加
register_model_bulk_route函数, 用于生成指定数据模型的批量增删改路由 - 添加
register_model_bulk_add_route函数, 用于生成指定数据模型的批量添加路由 - 添加
register_model_bulk_delete_route函数, 用于生成指定数据模型的批量删除路由 - 添加
register_model_bulk_update_route函数, 用于生成指定数据模型的批量更新路由
- 添加
- [A] 添加
flaskz.utils.request函数(替代flaskz.utils.api_request函数) - [A] 添加
flaskz.utils.json_dumps函数以序列化对象为JSON字符串 - [F] 修复
flaskz.ext.ssh.SSH中_pre_commands_run的未赋值问题
- [A] 扩展
- 1.7.3
2024/05/01- [C]
flaskz.utils.ins_to_dict函数返回的dict中包含值为None的键值 - [A]
BaseModelMixin.to_dict方法的option参数添加relationships选项, 用于自定义是否查询关联关系 - [A]
FLASKZ_DATABASE_SESSION_KWARGS配置参数添加reusable_in_flask_g选项, 用于设置是否在flask.g中缓存&复用session对象(默认复用) - [C]
flaskz.ext.ssh返回值保留文本两侧的空格 - [A]
flaskz.ext.ssh.SSH添加pre_commands参数, 用于在命令执行之前预先执行控制相关命令
- [C]
- 1.7.2
2024/02/01- [A]
flaskz.models.parse_pss函数支持like_columns参数, 用于定义模糊查询列(默认使用模型类的like_columns) - [A]
flaskz.utils.api_request函数添加http_kwargs参数, 用于设置http请求参数
- [A]
- 1.7.1
2024/01/05- [F] 修复SQLAlchemy<2.0.0版本时,
flaskz.models._util.py中BinaryExpression类的导入问题
- [F] 修复SQLAlchemy<2.0.0版本时,
- 1.7.0
2024/01/01- [C]
SQLAlchemy依赖的版本从>=1.3.13(EOL)升级到>=1.4.0(Maintenance) - [A]
BaseModelMixin.query_pss方法支持relationship的查询和排序 - [A]
flaskz.models.parse_pss函数支持relationship的查询和排序参数解析
- [C]
- 1.6.4
2023/12/01- [A]
BaseModelMixin添加refresh方法, 用于更新当前模型对象 - [A] 添加
flaskz.models.refresh_instance函数, 用于更新模型对象/列表 - [A]
model_to_dict函数的option参数添加filter选项, 用于过滤模型对象列表 - [A]
flaskz.rest.register_model_query_pss_route路由生成函数添加get_pss_config参数, 用于自定义pss查询参数 - [A]
flaskz.ext.ssh添加ssh_run_command和ssh_run_command_list函数 - [A]
flaskz.ext.ssh.SSH添加connect_kwargs和channel_kwargs参数以自定义connect和channel参数 - [A]
flaskz.ext.ssh.SSH设置timeout参数的默认值为10
- [A]
- 1.6.3
2023/09/01- [A] 添加
FLASKZ_DATABASE_SESSION_KWARGS配置参数, 用于自定义DBSession参数 - [C]
BaseModelMixin.add_db和BaseModelMixin.update_db方法添加refresh操作, 以返回跟数据库同步的instance对象 - [A]
flaskz.rest.register_model_*路由生成函数添加路由endpoint参数
- [A] 添加
- 1.6.2
2023/07/06- [F] 修复
flaskz.utils._request_args.py中import parse_pss as get_pss的导入问题
- [F] 修复
- 1.6.1
2023/07/01- [C]
flaskz.utils.get_pss(flaskz.models.parse_pss)函数返回项由SQL字符串拼接改为参数化模式以预防SQL注入 - [A] 添加
flaskz.utils.run_at函数用于执行定时函数
- [C]
- 1.6
2023/06/16- [A]
BaseModelMixin添加count方法, 用于数量查询(全量/条件) - [A]
BaseModelMixin添加clear_db方法, 用于清空数据 - [A]
BaseModelMixin.query_pss方法支持GROUP BY分组 - [A]
flaskz.ext.ssh添加对Paramiko>=3.0.0版本的支持 - [A]
flaskz.ext.ssh.SSH添加secondary_password和recv_endswith参数
- [A]
- 1.5.3
2023/06/01- [F]
flaskz.utils.api_request函数的url_params参数仅用于url中的{变量}替换而不添加查询字符串 - [A]
flaskz.utils.api_request函数添加url_search_params参数用于添加url查询字符串
- [F]
- 1.5.2
2023/05/17- [C]
db_session上下文管理器自动关闭非缓存session - [F] 修复
BaseModelMixin.get_query_default_order默认排序在query_pss方法中不起作用的问题
- [C]
- 1.5
2023/05/01- [A] 扩展
flaskz.rest路由生成模块- 添加
register_model_route函数, 可用于生成指定数据模型的CRUD等路由 - 添加
register_model_add_route函数, 可用于生成指定数据模型的添加路由 - 添加
register_model_delete_route函数, 可用于生成指定数据模型的删除路由 - 添加
register_model_update_route函数, 可用于生成指定数据模型的更新路由 - 添加
register_model_upsert_route函数, 可用于生成指定数据模型的添加/更新路由 - 添加
register_model_query_route函数, 可用于生成指定数据模型的全量查询路由 - 添加
register_model_query_pss_route函数, 可用于生成指定数据模型的条件查询(分页+搜索+排序)路由 - 添加
register_models_query_route函数, 可用于生成多个数据模型的全量查询路由
- 添加
- [A]
ModelMixin.query_pss方法支持多列排序 - [A]
flaskz.models.init_model和flaskz.log.init_log函数添加对Class类型参数的支持 - [A]
BaseModelMixin.delete_db方法添加对dict类型参数的支持 - [A]
flaskz.utils添加cls_to_dict函数, 用于生成类属性的dict对象 - [C]
BaseModelMixin.bulk_delete方法会删除符合条件的所有数据(此前版本只删除第一个)
- [A] 扩展
- 1.3.1
2023/03/02- [C]
init_model_rest_blueprint函数生成的路由, 移除参数path类型转换, 以解决Flask<2.2.3版本不会将结尾不带/的请求重定向到带/路由的问题
- [C]
- 1.3
2023/03/01- [A]
init_model_rest_blueprint函数生成的query路由, 添加对单个数据的查询功能([GET]url_prefix/did/) - [A]
init_model_rest_blueprint函数生成的update路由, 添加URL主键支持([PATCH]url_prefix/did/) - [C]
init_model_rest_blueprint函数生成的delete路由, 结尾添加/, 用于支持以/结尾的URL删除请求([DELETE]url_prefix/did/) - [A] 添加
FLASKZ_DATABASE_ENGINE_KWARGS参数, 用于自定义engine参数
- [A]
- 1.2
2023/02/01- [A] 添加
FLASKZ_DATABASE_POOL_PRE_PING参数, 用于设置engine的pool_pre_ping参数 - [A]
init_model函数添加数据库连接异常处理和重新连接 [C]init_model_rest_blueprint函数生成的删除路由URL中的id参数添加path类型转换(v1.3.1已移除)
- [A] 添加
- 1.1
2023/01/01- [F] 修复
BaseModelMixin的update_db和delete_db方法在非Flask应用或没有Flask应用上下文时的操作失败问题
- [F] 修复
- 1.0
2022/12/01- [A] 添加
flaskz.utils.set_timeout和flaskz.utils.set_interval函数用于延迟和周期性函数执行 - [A]
flaskz.ext.ssh.SSH添加timeout参数以设置超时时间(登录&命令执行) - [F] 修复
BaseModelMixin.bulk_delete方法因某条数据删除失败导致的操作中断和部分删除问题
- [A] 添加
- 0.9
2022/10/01- [A] 添加
flaskz.auth包, 提供了JWS授权功能 - [A] 添加
flaskz.ext.ssh, 提供了ssh相关功能(pip install paramiko)
- [A] 添加
- 0.8
2022/08/01- [A]
BaseModelMixin和ModelMixin模型扩展类添加没有Flask上下文环境时的使用支持 - [A] 添加
flaskz.ext包用于存放扩展工具类, 请注意ext包中的代码依赖的第三方包, 不在flaskz的install_requires中, 需要单独安装 - [C] 将
flaskz.utils.RSACipher和flaskz.utils.AESCipher类所在的cypher.py文件移到了flaskz.ext包中
- [A]
- 0.7
2022/06/01- [A] 添加
flaskz.utils.RSACipher和flaskz.utils.AESCipher类用于加密&解密, 需要安装pycryptodome包 - [A] 添加
flaskz.utils.append_url_search_params函数, 用于向url中添加search参数
- [A] 添加
- 0.6
2022/05/06- [F] 修复当数据模型relationship中设置
lazy=joined时, 排序引起的"Can't resolve label reference"问题 - [F] 修复
merge_dict方法, 因使用iteritems导致的bug - [F] 修复
forward_request方法, 因请求没有设置Content-Type=application/json, 获取json时引发的BadRequest('Content-Type was not 'application/json')异常 - [F] 修复未调用
init_log初始化, 调用flaskz_logger时, 引起的NameError(name '_flaskz_logger' is not defined)问题
- [F] 修复当数据模型relationship中设置
- 0.3
2021/11/26- [A] 添加
FLASKZ_LOGGER_DISABLED参数, 用于控制flaskz_logger的启用和禁用 - [A] 添加使用文档
- [C] 修改
flaskz.utils.forward_request函数逻辑, 如果url_params参数为空时, 会把request.view_args作为url_params参数来调用api_request
- [A] 添加
- 0.2
2021/11/12- [F] 修复
query_multiple_model函数bug - [C] 对部分参数名进行规范化调整
- [F] 修复
- 0.1
2021/10/26- 发布
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
flaskz-1.8.3.tar.gz
(58.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
flaskz-1.8.3-py3-none-any.whl
(61.2 kB
view details)
File details
Details for the file flaskz-1.8.3.tar.gz.
File metadata
- Download URL: flaskz-1.8.3.tar.gz
- Upload date:
- Size: 58.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
058a24933467d09008036dfae5af276fbae119e2a9198971154a99aa4d8921fc
|
|
| MD5 |
5aea35d9643b6ede97032fd21fd9e1c4
|
|
| BLAKE2b-256 |
c28f506c151b3d3371c1ab9162b03faf5329ff6dab382f23500c5091a16d7a5c
|
File details
Details for the file flaskz-1.8.3-py3-none-any.whl.
File metadata
- Download URL: flaskz-1.8.3-py3-none-any.whl
- Upload date:
- Size: 61.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c5a9c6f7e219b6a5842da04ea9a9344f08b702347dc050f73079b0a8b5f1151
|
|
| MD5 |
50ae6c7116c6cf82dadcea261fa1974f
|
|
| BLAKE2b-256 |
f2edb59bf37f88f88afeef2b6f8c9bbbaf1c40279035bfbabc6860b41962992c
|