1
votes

My codes :

class name(osv.osv):
        _name='name.model'
        _columns={
                  'name':fields.char('Name',size=32),
                  'ten':fields.char('Ten',size=40),
                  'so':fields.integer('So luong'),
                  'cost':fields.integer('Cost'),
                  }
name()

class first_model(osv.osv):
        _name='first.model'
        _columns={
                  'name':fields.char('Name',size=32),
                  'name1':fields.many2one('name.model','Relationship'),
                  'number':fields.integer('Number'),
                  }
first_model()

class second_model(osv.osv):
        _name='second.model'
        _columns={
                  'name':fields.char('Name',size=50),
                  'name2':fields.many2one('first.model','Choose'),
                  'cost':fields.integer('Cost')         
                  }
        def onchange_cost(self,cr,uid,ids,name2,context=None):
            value={}
            if name2:
                record=self.pool.get('first.model').browse(cr,uid,name2,context=context)
                if record:
                    print record.name1
                    recor_id=self.pool.get('name.model').search(cr,uid,[('name','=',record.name1)],context=context)
                    if recor_id:
                        rec=self.pool.get('name.model').browse(cr,uid,recor_id,context=context)
                        print rec.cost

second_model()

My problem is when i try to get cost from name.model it always return empty .I check value of record.name1 and its look like : name.model(3,) or name.model(5,) .How can i get cost from name.model .Please help me to solve this .Thank you :))

Sorry for bad english :((

1

1 Answers

1
votes

Try this:-

record=self.pool.get('first.model').browse(cr,uid,name2.id,context=context)