2015-10-26 9 views
0

Доброе утро, у меня есть поле выбора в текущей модели и многое поле из другой модели. когда тип комнаты менялся, я хочу, чтобы в этот многокомнатный номер был выбран только тот тип комнат. Я могу сделать это, когда изменилось поле many2one. Или можете вносить какие-либо изменения в файл VIEW.xml для фильтрации? Вот код.Как использовать функцию обмена в поле выбора для извлечения данных в many2one? в odoo

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

Нет необходимости писать о методе изменения для того,

просто применить домен на поле.

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

Спасибо ... его рабочий штраф –