2013-03-24 265 views
-1

下面的代码只在我的文本框中显示了estates [0] .id。需要加载我的field.how中的所有值来做这样的事情。?如何迭代并将它们添加到字段值。如何Python列表迭代?

def on_change_company(self, cr, uid, ids, company_id, context=None): 
    if not company_id: 
     return {'value': { 
      'bpl_estate_id': False 
     }} 
    company = self.pool.get('bpl.company.n.registration').browse(cr, uid, company_id, context=context) 
    estates = company.estates 
    if estates: 
     return { 
       'value': { 
          'bpl_estate_id': estates[0].id 
          } 
       } 
    else: 
     return { 
       'value': { 
          'bpl_estate_id': 0 
          } 
       } 
+0

对于您的其他问题,您已经有了一个未解决的问题。最好用它来获得注意力,而不是用它编辑现有的问题。 – Makoto 2013-03-25 17:42:02

回答

1

在您的字典中,只会将estates[0].id放入您的字典中。如果你想要的ID列表,使用列表理解。

if estates: 
    return {'value': {'bpl_estate_id': [e.id for e in estates] } } 
# rest of code 
+0

错误来亲爱的Makoto .. TypeError:str.split不是函数 – 2013-03-24 16:16:35

+1

这与这个问题有什么关系?我很困惑。 – Makoto 2013-03-24 16:17:24

+0

请参阅此 http://stackoverflow.com/questions/15590419/openerp-7-many2one-field-with-onchange-event – 2013-03-24 16:20:09