Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
5 Trả lời
12656 Lượt xem

I try filter list of values in dropdown list of many2one field (this field is in tree). For this I've created functional field which return list of allowed ids. In xml file i used domain with in condition. Here's my code

In py file

class cm_order_line(osv.osv):
_name = 'cm.order.line'

def _get_order_ids(self, cr, uid, ids, field_names=None, arg=None, context=None):
task_order_ids = [5,9,10]    # only as simplification...
return task_order_ids

_columns = {
'order_id': fields.many2one('stock.picking', 'Order Name'),
'order_ids': fields.function(_get_order_ids, type='char', string='Orders IDs', store=False),

_defaults = {
'order_ids': _get_order_ids
}

In XML

<field name="order_ids" invisible="1"/>
<field name="order_id" on_change="onchange_order_id(order_id)" domain="[('type','=','out'),('id', 'in', order_ids)]"/>

Everything works fine when i create new record. Domain works normal but after save (or when i just want to open inserted records) it gives error

AttributeError: 'list' object has no attribute 'get'
Ảnh đại diện
Huỷ bỏ

These are not the same, as Sahib needs to provide a list of IDs, not a single ID...

Câu trả lời hay nhất

Hi,

Yor passing "order_ids" field domain xml file but its function field and not stored in data base thats why you facing this error.

Thank

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

change type='char', to type='many2one',
This will work

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 3 15
7319
1
thg 3 15
5131
0
thg 3 15
3812
6
thg 5 24
70705
1
thg 10 23
1997