Python 3.x 创建新的自定义字段类型Odoo

Python 3.x 创建新的自定义字段类型Odoo,python-3.x,odoo-11,Python 3.x,Odoo 11,我想使用现有字段类型创建自定义字段类型。就像Odoo有字段类型一样:Char、Integer等。我想使用现有Integer字段类型创建新的Integer类型。因此,新的自定义字段类型具有现有的和新的功能 是否允许创建自定义字段类型?如果是,那么如何创建自定义字段类型 我猜继承现有字段类型我们可以创建自定义字段类型,就像使用继承现有模型创建自定义模块一样 谢谢是的,Odoo允许创建自定义字段类型。从概念上讲,您需要执行以下步骤: 在javascript中实现Odoo AbstractField的子

我想使用现有字段类型创建自定义字段类型。就像Odoo有字段类型一样:Char、Integer等。我想使用现有Integer字段类型创建新的Integer类型。因此,新的自定义字段类型具有现有的和新的功能

是否允许创建自定义字段类型?如果是,那么如何创建自定义字段类型

我猜继承现有字段类型我们可以创建自定义字段类型,就像使用继承现有模型创建自定义模块一样


谢谢

是的,Odoo允许创建自定义字段类型。从概念上讲,您需要执行以下步骤:

  • 在javascript中实现Odoo AbstractField的子类
  • odoo.define('my_module.fields',函数(require){
    “严格使用”
    var registry=require('web.field_registry');
    var AbstractField=require('web.AbstractField');
    var CustomField=AbstractField.extend({
    /**
    *@覆盖
    */    
    _renderReadonly:函数(){
    //...
    }
    });
    //将自定义小部件添加到Odoo的小部件注册表
    add('my\u custom\u field',CustomField);
    })
    
    您可能不需要直接扩展AbstractField,因为已经有许多内置的field小部件可以更接近您的需要。我建议您获取Odoo的源代码,并在
    addons/web/static/src/js/fields/basic_fields.js
    下查看不同的field widget实现,以找到最适合您需要的。然后从那里延伸

  • 让Odoo知道它应该使用xml中的自定义小部件
  • 
    

    您可以在我找到的这篇文章中查找更多信息。

    是的,Odoo允许创建自定义字段类型。从概念上讲,您需要执行以下步骤:

  • 在javascript中实现Odoo AbstractField的子类
  • odoo.define('my_module.fields',函数(require){
    “严格使用”
    var registry=require('web.field_registry');
    var AbstractField=require('web.AbstractField');
    var CustomField=AbstractField.extend({
    /**
    *@覆盖
    */    
    _renderReadonly:函数(){
    //...
    }
    });
    //将自定义小部件添加到Odoo的小部件注册表
    add('my\u custom\u field',CustomField);
    })
    
    您可能不需要直接扩展AbstractField,因为已经有许多内置的field小部件可以更接近您的需要。我建议您获取Odoo的源代码,并在
    addons/web/static/src/js/fields/basic_fields.js
    下查看不同的field widget实现,以找到最适合您需要的。然后从那里延伸

  • 让Odoo知道它应该使用xml中的自定义小部件
  • 
    

    您可以在我找到的这篇文章中查找更多信息。

    @TadeuszKarpinski感谢您的回复。实际上,我们希望创建自己的自定义二进制类型,以便将该二进制文件上载到云。我们在UI中使用该自定义二进制字段,用户选择图像/视频/文档并保存记录,然后选择图像/视频/文档将上载到云。上载逻辑将绑定到自定义字段类型文件中。@TadeuszKarpinski感谢您的回复。实际上,我们想创建自己的自定义二进制类型,以便将该二进制文件上载到云。我们在UI中使用该自定义二进制字段,用户选择图像/视频/文档并保存记录,然后选择的图像/视频/文档将上载到云。上载逻辑将绑定到自定义字段类型文件中。