Вновь созданные записи в домене не отображаются в поле OpenERP

Я работаю над модулем поиска в OpenERP-7. Я возвращаю записи в домене, чтобы показать их в своем поле. Проблема в том, что в поле не отображаются вновь созданные записи в домене. При печати значения домена на консоли я получаю нужные записи. Но я, кажется, не понимаю, почему это не позволяет мне просматривать их в моем поле. Я также не получаю никаких ошибок.

Моя доменная часть функции выглядит следующим образом:

 res = cr.fetchall()
    for p_id,p_name in res:
        domain.append((p_id))
    print domain
    return {'domain':{'my_products':[('id','in',domain)]}}

person Arsalan Sherwani    schedule 18.08.2014    source источник


Ответы (1)


Чтобы просмотреть записи в one2many, вам не нужно использовать «домен», вы должны использовать «значение» с шаблоном для сохранения записей one2many (см. в server/bin/openerp/osv/fields.py около строки 420) :

# ---------------------------------------------------------                     
# Relationals fields                                                            
# ---------------------------------------------------------                     
#                                                                                
#                                                                               
# Values: (0, 0,  { fields })    create                                         
#         (1, ID, { fields })    update                                         
#         (2, ID)                remove (delete)                                
#         (3, ID)                unlink one (target id or target of relation)   
#         (4, ID)                link                                           
#         (5)                    unlink all (only valid for one2many)           
#                                                                               
#CHECKME: dans la pratique c'est quoi la syntaxe utilisee pour le 5? (5) ou (5, 0)?

Итак, в вашем случае, я думаю, это может сработать:

res = cr.fetchall()
for p_id,p_name in res:
    domain.append((p_id))

return {'value': {'my_products': [(4, x) for x in domain]}}
person Quentin THEURET    schedule 03.12.2014