为Odoo ORM添加类型,以实现惯用的Python
项目描述
typodoo
为Odoo模型添加类型,以实现惯用的Python。
此软件包支持Odoo Experience 2022演讲(幻灯片,视频)。
当添加一些类型注解到Odoo核心时,效果最佳。
/!\ 这是预览版内容 /!\
是什么?
pip install typodoo
以在Odoo启动时猴子补丁Odoo元类。
然后,您仍然可以像往常一样编写这个
from odoo import models, fields
class ResPartner(models.Model):
_inherit = "res.partner"
friend = fields.Boolean()
industry2_id = fields.Many2one(
'res.partner.industry',
string='Secondary Industry',
required=True,
)
但您也可以编写这个
from odoo import fields
from odoo.addons.base.models.res_partner import (
Partner, ResPartnerIndustry
)
class ResPartner(Partner):
friend = fields.Boolean()
industry2_id = fields.Many2one[ResPartnerIndustry](
string='Secondary Industry',
)
也可以编写这个
from odoo.addons.my_addon.models.res_partner import ResPartner
partners = ResPartner(self.env).search([])
为什么?
惯用的Python。
IDE中的原生自动完成。
静态类型检查。
开发
pip install -e .
然后,将 typodoo_activate.pth
复制到 $VIRTUAL_ENV/lib/python3.10/site-packages
。自动化此设置是一个待办事项。
许可
typodoo
在MIT许可的条款下分发。
项目详情
下载文件
下载您平台对应的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
typodoo-0.3.tar.gz (4.9 kB 查看哈希值)
构建分发
typodoo-0.3-py3-none-any.whl (4.2 kB 查看哈希值)
关闭
typodoo-0.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c61b7f883688153f103d5c4f7c97dee3af848e79e793a95545211cb0367d2ade |
|
MD5 | 29ca16dad7c915a9dfeb12e732e8f9ab |
|
BLAKE2b-256 | 7c0c363b0a6e6cf64dedd5ab042ed63faa908be1291588759496d65f0646347f |
关闭
typodoo-0.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8e16017226ed168a4b32c288eed052607d425f844d47003610ec7fbfbf4bcdc5 |
|
MD5 | 6d698939d2a399a89b2a45d87eaf3e25 |
|
BLAKE2b-256 | 288a32105a23c85ca79fd36607beb5d981381f2dcb81d45fb5580448a814f2ea |