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