如何使用onchange函数为选择字段将数据提取到many2one?在odoo

时间:2015-10-26 05:26:16

标签: python xml odoo openerp-7

早上好,我在当前模型中有一个选择字段,在另一个模型中有很多2字段。当房间类型改变时,我想只将那个类型的房间提取到很多2字段。我可以在many2one字段改变时进行。或者可以在VIEW.xml文件中进行任何修改以进行过滤?这是代码。

Here is the picture

class RoomInfo(osv.osv):
_name='room.info'
_rec_name='room_num'
_columns = {

    'room_num':fields.char('Room Number'),
    'room_type' : fields.selection([('1BHK','1BHK'),('3BHK','3BHK'),('2BHK','2BHK')],'Room type'),
    'status':fields.selection([('reserved', 'Reserved'),('vacant', 'Vacant')],'Status'),
    'fare':fields.float('Fare')

}

RoomInfo()  

class Hotel(osv.osv):
_name = 'book.room'

_columns ={

    'name' : fields.char('Customer name',required=True),
    'roomtype' : fields.selection([('1BHK','1BHK'),('3BHK','3BHK'),('2BHK','2BHK')],'Room type'),
    'room_num':fields.many2one('room.info','Room Number',required=True), 


        }

@api.one
@api.onchange('room_num')
def _on_change_nationality(self):
   self.country_code_lead = self.nationality_lead.country_code
   self.fare = self.room_num.fare
   self.room_type = self.room_num.room_type

Hotel()

提前致谢。

1 个答案:

答案 0 :(得分:1)

无需为此更改方法,

只需在该字段上应用域名。

<field name="roomtype" />
<field name="room_num" domain="[('roomtype','=',roomtype)]" />