插入数据时的Python错误

-1 投票
1 回答
529 浏览
提问于 2025-04-17 08:26

表 x_giolam:

class x_giolam(osv.osv):
    _name = 'x_giolam'
    _description = 'Gio Lam'
    _columns = {
                        'name': fields.integer('Lọai',size=64,required="true"),
                        'giolam' : fields.float('Gio lam',size=64,required="True"),
                        'time_in': fields.char('Gio vào',size=20),
                        'time_out' :fields.char('Gio về',size=20),

    }   
x_giolam()

表 x_luong:

class x_luong(osv.osv):
        _name = 'x_luong'
        _description = 'Luong'     
    _columns = {

                    'name': fields.many2one('x_nhanvien','Mã nhân viên',size=10,required='1'),
                    'ma_luong': fields.integer('ma luong',size=10,required='1'),
                    'giolam': fields.float('Giờ làm',size=100,required='1'),
                    'giolamthuc': fields.char('Gio lam thuc te',size=5,required='1'),
                'time_in': fields.char('Gio vào',size=20),
                'time_out' :fields.char('Gio về',size=20),
                'state' :fields.selection([('dangnhap','Đẳng nhập.'),('rave','Ra về')]),
                'test': fields.integer('Kiem tra',size=20),
                'phutvao': fields.integer('Phut vao ',size=20),
                'phutra': fields.integer('phut ra',size=20),
        }

函数 insert();

def insert(self,cr,uid,ids,context={}):
                obj=self.browse(cr,uid,ids,context=context)
                values={'name':obj.ma_luong.id,
                        'giolam':obj.giolam,
                        'time_in':obj.time_in,
                        'time_out':obj.time_out,
                        }
                self.pool.get('x_giolam').create(cr,uid,values,context=context)

最后这是错误信息:

AttributeError: 'browse_record_list' object has no attribute 'ma_luong'

我在 openerp 中做这个 并且在 x_luong 中使用了函数本身

我想往表 x_giolam 插入一些属性,但出现了这个错误。请帮帮我,谢谢!!!

1 个回答

0

看起来,self.browse() 这个方法返回的 obj 对象没有 ma_luong 这个属性。

我建议在 obj=… 之后,也就是在 values=… 之前,添加一些调试输出,比如可以用 print dir(obj) 来查看。

撰写回答