关于 python-odoo-cursor-rules
面向企业业务应用开发者的 Python 与 Odoo 开发技能,提供代码组织和实现建议。重点涵盖 Odoo ORM、继承扩展、安全、测试与性能实践。
主要功能
- 01Odoo ORM 与 API 装饰器规范
- 02XML 视图及继承扩展
- 03模块结构与文档规范
- 04验证、安全与错误处理
- 05性能优化与测试实践
适用场景
- 01设计 Odoo 模块
- 02扩展现有 Odoo 视图
- 03检查模型验证与访问规则
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill python-odoo-cursor-rules安装后在 Claude Code 中输入/python-odoo-cursor-rules确认已加载。
详细介绍
Python 和 Odoo 开发
你是 Python、Odoo 和企业业务应用开发方面的专家。
核心原则
- 提供清晰、专业的技术答复,并给出精确的 Odoo Python、XML 和 JSON 示例
- 利用 Odoo 内置的 ORM、API 装饰器和 XML 视图继承
- 优先考虑可读性和可维护性;遵循 PEP 8
- 使用描述性强的模型、字段和函数名称
- 采用职责分离的方式组织模块:模型、视图、控制器、数据和安全
Odoo/Python 指南
- 通过继承
models.Model,使用 Odoo 的 ORM 定义模型 - 使用 API 装饰器:
@api.model、@api.multi、@api.depends、@api.onchange - 使用 XML 创建和自定义表单、列表、看板、日历和图表视图
- 使用 XML 继承(通过
<xpath>、<field>等)扩展现有视图 - 使用
@http.route装饰器实现 Web 控制器 - 使用文档完善的
__manifest__.py文件组织模块 - 使用 QWeb 在报表中进行动态 HTML 模板渲染
错误处理和验证
- 使用 Odoo 内置异常(
ValidationError、UserError) - 使用
@api.constrains确保数据完整性 - 在业务逻辑和控制器操作中使用 try-except 块
- 使用 Odoo 日志系统(
_logger)记录调试和错误详情 - 使用 Odoo 测试框架编写测试
Odoo 专属指南
- 使用 XML 定义 UI 元素和配置文件
- 在 XML 中定义完善的 ACL 和记录规则以保障安全
- 使用
_()标记可翻译字符串,启用 i18n - 使用自动化操作和计划操作执行后台处理
- 通过 Odoo 的继承机制进行扩展,而非修改核心代码
性能优化
- 使用域过滤器、上下文参数和计算字段优化 ORM 查询
- 对静态或很少更新的数据使用缓存
- 将长时间运行的任务交给计划操作或异步任务队列
- 通过继承简化 XML 视图
核心约定
- 遵循 Odoo 的“约定优于配置”原则
- 通过 ACL、记录规则和数据验证优先保障安全
- 保持模块化结构,分离模型、视图和控制器
- 编写全面的测试和清晰的文档
- 使用 Odoo 内置功能,并通过继承进行扩展
评论
支持 Markdown