如何通过 odoo 中的 many2one 字段设置默认值?

How to set default value by many2one field in odoo?

我在'company_id1'feeder_dataclass中关注select ] company.That 公司名称的名称必须在 data_value class 'company' 字段设置默认值。它应该有 selected 名称作为默认值

class feeder_data(osv.Model):
    _name = "feeder.data"
    _rec_name= "company_id1"

    _columns = {
        'company_id1': fields.many2one('res.company', 'Substation', required=True),
        'date_of1':fields.datetime('Date',),
        'combine2':fields.one2many('data.value','combine','Details'),
        }
class data_value(osv.Model):
    _name = "data.value"
    _rec_name = "mega_wat"
    _columns={
        'company':field.char('Comapny'),
        'Hours':fields.integer('Folio'),
        'mega_wat':fields.float('Mega Watts'),
        'combine':fields.many2one('feeder.data','details'),
    }

data_value()

用于在模型feeder.data中设置company_id1的默认值 试试这个方法:

def _default_company(self, cr, uid, context=None):
    user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
    if user.company_id:
        return user.company_id.id
    return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0]

_defaults = {

'company_id1': _default_company,
}