处理时间窗口的基本模型
项目描述
此模块提供基类和模型,通过 time.window.mixin 来管理时间窗口。
目录
使用
示例实现可以在模块 test_base_time_window 中找到。
由于时间窗口将始终通过M2o关系链接到相关模型,因此在定义继承混合模型的新模型时,应注意以下点以确保重叠检查正常工作
定义类属性 _overlap_check_field:此属性必须指定用于检查与相关模型特定记录链接的重叠时间窗口记录的M2o字段。
将M2o字段添加到相关模型中的 api.constrains
例如
class PartnerTimeWindow(models.Model):
_name = 'partner.time.window'
_inherit = 'time.window.mixin'
partner_id = fields.Many2one(
res.partner', required=True, index=True, ondelete='cascade'
)
_overlap_check_field = 'partner_id'
@api.constrains('partner_id')
def check_window_no_overlaps(self):
return super().check_window_no_overlaps()
已知问题/路线图
使用 float_time 小部件存储时间需要额外处理以确保在正确的时间区域内执行计算,因为该值不是以UTC存储在数据库中,因此必须与 tz 字段相关联。
在这种情况下,float_time 应仅用于持续时间,而不是用于“时间点”,因为这始终需要一个日期来进行时区转换。 (因为从UTC转换为例如欧洲/布鲁塞尔不会在冬夏因为夏令时给出相同的结果)。
因此,正确的做法是使用 resource.calendar 使用带重复的DateTime定义时间窗口。
错误跟踪器
错误追踪在GitHub Issues上。如果遇到问题,请先检查是否已有相关报告。如果是您首先发现,请通过提供详细且受欢迎的反馈帮助我们解决。
请不要直接联系贡献者关于支持或技术问题。
鸣谢
贡献者
Laurent Mignon <laurent.mignon@acsone.eu>
Akim Juillerat <akim.juillerat@camptocamp.com>
维护者
此模块由OCA维护。
OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。
此模块是GitHub上OCA/server-tools项目的一部分。
欢迎您贡献力量。有关如何贡献,请访问https://odoo-community.org/page/Contribute。
项目详情
odoo13_addon_base_time_window-13.0.1.0.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 51aea9992c2995c28b3e2ce41bc14ae77d0aa3e25f1f5668f88b5fe495e918e0 |
|
MD5 | 6234846a112cf641d0806ffe6e2f21bc |
|
BLAKE2b-256 | e67ecbef9e6e7a6c12c1b3a789cbbb69a5303bc7e35ab40e14f3a931e799a089 |