如何使用选择字段的 onchange 函数将数据提取到 many2one 中?在奥多

how to use onchange function for a selection field to fetch data into many2one? in odoo

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

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()

提前致谢。

不需要为此写更改方法,

只需在字段上应用域。

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