1
我是新的OpenERP 7編程。我創建了一個預訂模塊,允許客人預訂多個房間。我希望能夠在創建新預訂時將房間狀態從可用更改爲預訂。這種情況的解決方案似乎覆蓋了對openERP的ORM方法創建或編寫 ORM方法。openerp 7創建方法覆蓋
我完全不知道如何將它合併到我的代碼中。以下是我的代碼的一部分。
class reservation(osv.osv):
_columns = {
'name': fields.char('Reservation No', required=True, select=True, readonly=True),
'date_order':fields.datetime('Date Ordered', required=True, readonly=True),
'reserved_rooms': fields.one2many('hotel.reservation.line','line_id', 'Reserved Rooms'),
'state': fields.selection([('draft', 'Draft'),('confirmed','Confirmed'),('cancelled','Cancelled'),('done','Done')], 'State',readonly=True),
}
reservation()
_defaults = {
'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid,'hotel.reservation'),
'state': lambda *a: 'draft',
'date_order': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S')
}
使用草稿默認狀態創建預留。如何和在我的代碼在哪裏我把和創建或寫方法?謝謝。
您好,感謝您的回答以上,但我意識到這一點。我似乎無法得到的是如何訪問窗體上輸入的房間字典(假設它是一個字典,因爲它是一個二維字段)。一旦我知道如何做到這一點,我將能夠循環使用這些值並更改房間的狀態。 – 2015-04-07 06:12:32
如果它是在創建方法中,那麼你應該得到'vals.get('reserved_rooms',False)'它返回id列表或者False不是字典,或者在寫入方法中你應該這樣寫, 'obj in self.browse (cr,uid,ids,context = context): obj.reserved_rooms',obj.reserved_rooms返回可瀏覽的對象而非ID。 – 2015-04-07 09:19:32