我想扩展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"
)
答案 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