美文网首页
odoo connector

odoo connector

作者: F4A3 | 来源:发表于2017-09-18 12:16 被阅读0次

    Connector 有4个不同的addons:

    • quenue_job
    • component
    • component_event
    • connector

    Migrating Jobs:

    job现在变得更加完整,可以被认为是在models中的methods来使用而不在是以前那种单独存在的方法。另一个改变是python路径改变了因为jobs被放在单独的addon中了

    image.png
    观察结论:
    • 可以从实例中看到现在的@job跟@related_action装饰器可以在models中使用。
    • 由于job能定义在models中,可加api装饰器所以使用self能替代以前的session,model_name,bindling_id
    • 新版本的import_record可以直接传入参数作为records
    • the action of a related action is now the name of a method on the queue.job model
    • 如果需要在多个models中共享一个job。可以通过使用AbstractModel,并且添加利用_inherit继承来共享

    invocation of a job(调用job)

    image.png
    观察结论
    • 不需要再进行import
    • ConnectorSession 被丢弃了
    • job的参数不在跟method参数混合起来
    • 当一个job被browse使用时,这个job会被这个记录的一个实例执行

    Migrating Events(迁移事件)

    事件现在被component_event addon处理

    Triggering(触发) an event

    image.png
    观察结论
    • imports不再被需要。调用参数只需要把参数传入odoo.addons.component_event.component_event.components.event.CollectedEvents.notify()
    • event 的名字必须以'on_'作为开头

    Listening to an event

    image.png
    观察结论
    • listerners 现在变为 components
    • 一个listener Component 可能包含多个listener methods
    • 必须继承'base.event.listener'或者一个它的子类
    • 检查context中是否存在key 'connector_no_export' 能被装饰器odoo.addons.component_event.skip_if()来代替

    Listening to an event only for some Models

    image.png
    观察结论
    • 通过加入_apply_on 列表 来添加需要监听的Models名称

    Migrating Components (迁移组件)

    Backends

    image.png
    image.png
    观察结论
    • Backend Models中版本是可选的
    • Backend Models 是基于Component's Collections的

    Inheritance

    image.png
    image.png
    观察结论
    • 现在的继承与odoo中的继承类似(没有_inherits 这个继承方式)
    • 所有的组件都需要用过python中的类的继承方式继承AbstractComponent或者Component
    • 需要在名字前加上前缀(因为是全局的名字)
    • the name of the classes has no effect
    • 类似Odoo的Models,一个组件能继承多个组件通过 _inherit 一个list列表
    • 所有的组件都继承了base组件

    Entrypoint for working with components (组件工作的入口点)

    image.png
    image.png
    观察结论
    • And when you are already in a Component, refer to Find a component

    Find a component

    image.png
    • model 通过_apply_on属性来进行对比
    • Backend 通过_collection属性进行比较
    • _usage 指明来组件的目的,可以理解为被用来进行查找
    • 通常,_usage跟_collection 是会通过_inherit直接从父类组件中获取。所以不需要对每个组件都进行重写
    • 一个很好的方法是写一个接口(抽象类) 。


      image.png

    相关文章

      网友评论

          本文标题:odoo connector

          本文链接:https://www.haomeiwen.com/subject/tkzvsxtx.html