扩展Odoo / Openerp数据类型

时间:2015-12-07 08:19:41

标签: python openerp openerp-7 odoo-8

我想扩展odoo数据类型。 首先,我想从scretch创建一个新的数据类型。这并不容易,因为odoo / openerp只是不知道如何存储该数据类型。 所以现在我想扩展它。

from openerp import fields
class MyDataType(fields.Text):

    @classmethod
    def browse_my_data_type(self, value1, value2):
        result = value1 + value2
        if len(result) > 0:
            return result
        else:
            return False

我试着用它。有可能我想要调用browse_my_data_type方法。

from openerp import models, fields, api        
import my_new_fields as my_fields       
class my_data_type_test(models.Model):
    _name = 'my.type.test'

    name =              fields.Char('Name')
    my_data_type =      my_fields.MyDataType("My Data Type")
    result =            fields.Char("Result", compute="_set_result")    

    @api.one
    def _set_result(self):
        result = self.my_data_type.browse_my_data_type("valuehere","anotheronehere")
        if result:
            self.result = result
        else:
            self.result = ""

我用这段代码来测试方法。可悲的是它给了我错误AttributeError: 'unicode' object has no attribute 'browse_my_data_type' 我怎样才能确保他在使用这种方式时知道方法? (self.my_data_type.browse_my_data_type("valuehere","anotheronehere"

1 个答案:

答案 0 :(得分:0)

试试这段代码可能有用:

from openerp import fields


class MyDataType(fields._String):
    type = 'text'

    def browse_my_data_type(self, value1, value2):
        result = value1 + value2
        if len(result) > 0:
            return result
        else:
            return False