当前位置: 代码迷 >> python >> 如何为选择字段使用onchange函数将数据提取到many2one? 在odoo
  详细解决方案

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

热度:66   发布时间:2023-06-16 10:21:46.0

早上好,我在当前模型中有一个选择字段,在另一个模型中有many2one字段。 当房间类型更改时,我只想将该类型的房间获取到many2one字段中。当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)]" />
  相关解决方案