我想问。我对数据库进行查询时得到的错误
def onchange_dept_from(self, cr, uid, ids, partner):
print partner
if partner != False:
# note
cr.execute('select z.name, z.id from res_partner x, account_account z where x.property_deposit_receivable = z.id AND x.id=%s',(partner,)),
temp = cr.fetchone()
name = temp and temp[0] or None
cr.execute('select z.name, z.id from res_partner x, account_account z where x.property_deposit_payable = z.id AND x.id=%s',(partner,)),
ads = cr.fetchone()
name2 = ads and ads[0] or None
val = {
'dept_from':name,
'dept_to':name2,
}
return {'value':val }
碰撞的“id”可能来自我用来移入帐户的功能。移动
def get_move_line(self, cr, uid, deposit, type, context=None):
return {
'type': type,
'name': deposit.name or 'add',
'debit': type == 'dest' and deposit.amount or 0.0,
'credit': type == 'src' and deposit.amount or 0.0,
'account_id': type == 'src' and deposit.dept_from.id or deposit.dept_to.id,
'date': deposit.date,
'deposit_id': deposit.id
}
我想可能是因为当时我不得不查询字符串,而函数get_move。我正在寻找一个整数。我该怎么办?我没有想法。请帮帮我
答案 0 :(得分:0)
我已经解决了这个问题。我只是添加查询来搜索id。
def get_move_line(self, cr, uid, deposit, type, context=None):
cr.execute('select b.property_deposit_payable, b.property_deposit_receivable from deposit_travel a, res_partner b where a.partner = b.id and b.id = %s',(deposit.partner.id,)),
tmp = cr.fetchone()
dep_pay = tmp and tmp[0] or None
dep_rec = tmp and tmp[1] or None
return {
'type': type,
'name': deposit.name or 'add',
'debit': type == 'dest' and deposit.amount or 0.0,
'credit': type == 'src' and deposit.amount or 0.0,
'account_id': type == 'src' and dep_pay or dep_rec,
'date': deposit.date,
'deposit_id': deposit.id