首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openerp 7创建方法覆盖

openerp 7创建方法覆盖
EN

Stack Overflow用户
提问于 2015-04-01 07:06:39
回答 1查看 801关注 0票数 1

我是新的OpenERP 7编程。我创建了一个预订模块,允许客人预订多个房间。在创建新的预订时,我希望能够将房间状态从available更改为订票。这种场景的解决方案似乎是覆盖、create、,为openERP编写 ORM方法。

我完全不知道如何将它合并到我的代码中。下面是我代码的一部分。

代码语言:javascript
复制
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')
}

保留是以默认状态作为草案创建的。在我的代码中如何以及在哪里放置和使用创建编写方法?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-04-01 07:38:55

试着跟着,

代码语言:javascript
复制
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),
     }

    _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')
     }

    def create(self, cr, uid, vals, context=None):
        ###Add your code here
        ####update status in vals
        return super(reservation,self).create(cr, uid, vals, context=context)

    def write(self, cr, uid, ids, vals, context=None):
        ###Add your code here
        ####update status in vals
        ## you will get only those fields into the vals which are updated.
        return super(reservation,self).write(cr, uid, ids, vals, context=context)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29384833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档