类定义
class okgj_logistics_car(osv.osv): _name = 'okgj.logistics.car' #类名 _description = 'Logistics Car' #类描述 _columns = { #定义字段 'name':fields.char(u'编号', size=16, required=True), 'car_code':fields.char(u'车牌号', size=32, required=True), 'driver':fields.char(u'司机姓名', size=16, required=True), 'driver_phone':fields.char(u'电话号码', size=16, required=True), 'start_time': fields.date(u'合作日期'), 'active': fields.boolean(u'启用'), 'warehouse_id':fields.many2one('stock.warehouse', u'物流中心',), } _defaults = { # 定义默认值 'active': True, 'start_time': time.strftime('%Y-%m-%d'), } _order = 'name desc' # 按编号降序 okgj_logistics_car() #结束类定义
name_get
# openerp中每个类都有一个get_name()方法, # 或者在类内用代码实现这个方法, 或者默认继承父类中的这个方法。 # 它的签名为 name_get(self, cr, uid, ids, context=None) # 其中ids为要查询记录的id号, 其数据类型为list。 def name_get(self, cr, uid, ids, context=None): if isinstance(ids, (list, tuple)) and not len(ids): return [] if isinstance(ids, (long, int)): ids = [ids] reads = self.read(cr, uid, ids, ['car_code','driver'], context=context) res = [] for record in reads: if record['car_code']: newname = record['car_code'] +' / '+ record['driver'] else: newname = record['driver'] res.append((record['id'], newname)) return res