添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • e-Commerce
  • Accounting
  • Inventory
  • Project management
  • Take the tour

    Hello,

    I am new to OpenERP development and I am trying to learn how to assign functions to fields so I can retrieve values based on my needs, but after following the manual or taking a look at the code from another modules I can't seem to get it right.

    I tried a really simple function to retrieve the current time into a field. Here is the code to my function

    def get_text(self, cr, uid, ids, fields, arg, context):
        #records = self.browse(cr, uid, ids)
        #sale = 'Some Text'
        dd = datetime.now()
        return dd
    

    And this is how I call the get_text function

    'varText': fields.function(get_text, obj='sim.student', method=True, store=False, type='string', string='Text')
    

    Whatever I try in my get_text function I always get an error like the following:

    AttributeError: 'datetime.datetime' object has no attribute 'get'
    

    If I comment the line starting with dd and uncomment the line starting with sale the error would be

    AttributeError: 'str' object has no attribute 'get'
    

    If anyone can give me a tip on what I am doing wrong I will really appreciate it!

    Thanks!

    • In you field singature the obj is not requied as it is not a relation type field.
    • type='string' will not work. You should use type='char'
    • but as you try to get a datetime fields the correct type should be datetime .
    • The return of get_text should be a dict with keys the ids of the record and values the related values

    You should have a look at the hr_attendance/hr_attendance.py of addons file

    'last_sign': fields.function(_last_sign, type='datetime', string='Last Sign') is a simple sample

    Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

    Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.