You need to start by reading the implementations in the osv.fields module. In nutshell, all fields are inherited from _column. Depending on the nature of the field you are creating, you might need to implement your own "set", "get" and "serach" methods to handle the database interaciton. Here is small example to get you started. You can read more from the sourcecode of fields.py
from openerp.osv import fields, osv
_type = 'char'
def __init__(self, string="unknown", size=None, **args):
fields._column.__init__(self, string=string, size=size or None, **args)
# self._symbol_set_char defined to keep the backward compatibility
self._symbol_f = self._symbol_set_char = lambda x: _symbol_set_char(self, x)
self._symbol_set = (self._symbol_c, self._symbol_f)
fields.mynewfield = mynewfield
Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!
About This Community
|Asked: 2/27/15, 9:14 AM|
|Seen: 630 times|
|Last updated: 3/16/15, 8:10 AM|