Can filelds.property uses many2many ?

Asked by Songpon Phusing

Hi,

I want to use fields.property for many2many
for now, is it support ?

Thanks,
Songpon

Question information

Language:
English Edit question
Status:
Solved
For:
Odoo Server (MOVED TO GITHUB) Edit question
Assignee:
No assignee Edit question
Solved by:
Vinay Rana (OpenERP)
Solved:
Last query:
Last reply:
Revision history for this message
Vinay Rana (OpenERP) (vra-openerp) said :
#1

Hello,

Yes you can set property field in many2many by adding it by following way in .py file:

        'property_account_expense_categ_test': fields.property(
            'account.account',
            type='many2many',
            relation='account.account',
            string="Expense Account (Test)",
            method=True,
            view_load=True),

Hope this will help you.
Thanks.

Revision history for this message
Songpon Phusing (songpon.p-almacom) said :
#2

Hi,
Thanks for your answer

I got an error following when save the object that contain fields.property of m2m

Traceback (most recent call last):
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/netsvc.py", line 244, in dispatch
    result = LocalService(service_name)(method, *params)
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/netsvc.py", line 73, in __call__
    return getattr(self, method)(*params)
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/service/web_services.py", line 577, in execute
    res = service.execute(db, uid, object, method, *args)
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/osv/osv.py", line 61, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/osv/osv.py", line 120, in execute
    res = pool.execute_cr(cr, uid, obj, method, *args, **kw)
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/osv/osv.py", line 112, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/osv/orm.py", line 2172, in read
    result = self._read_flat(cr, user, select, fields, context, load)
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/osv/orm.py", line 2302, in _read_flat
    res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/osv/fields.py", line 648, in get
    res = self._fnct(obj, cr, user, ids, name, self._arg, context)
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/osv/fields.py", line 863, in _fnct_read
    res[int(prop.res_id.split(',')[1])] = (prop.value and \
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/osv/orm.py", line 229, in __getattr__
    return self[name]
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/osv/orm.py", line 190, in __getitem__
    datas = self._table.read(self._cr, self._uid, ids, fffields, context=self._context, load="_classic_write")
  File "/home/songpon/mwave/erp-original/openobject-server-5.0/bin/osv/orm.py", line 2185, in read
    model,ref_id = v.split(',')
ValueError: too many values to unpack

Is it needs to modify fields.property to make it support m2m
because , in ir.property at the field "value" it can get only 1 value

Thank you

Revision history for this message
Best Vinay Rana (OpenERP) (vra-openerp) said :
#3

hello,

Why you put property field as many2many because you can not give more then one value by default it logically not currect.
for example:partner has no more than one default receivable account, default value should be one per record and if you define 5 receivable account it will create ambiguity.
So can you tell what is your purpose regarding to add property field in many2many relational type?

Thanks.

Revision history for this message
Songpon Phusing (songpon.p-almacom) said :
#4

Hi,

My objective is to set default categories to the partners.

However , i agreed with you.

Thank you so much,my problem's solved
:D

Revision history for this message
Songpon Phusing (songpon.p-almacom) said :
#5

Thanks vra (openerp), that solved my question.