python - 如何从 Python 在 Odoo-8 中执行查询?

标签 python postgresql openerp odoo odoo-8

我在 hr_evaluation_interview 类中有以下函数:

@api.onchange('evaluation_id')
def onchange_evalID(self):
    self.deadline=self.env.cr.execute('SELECT date FROM hr_evaluation_evaluation where id=119')

注意:出于测试目的,我只是在查询中提供 id=119

当我给 self.deadline=datetime.now.strftime(%Y-%m-%d %H:%M:%S") 时,它工作正常并更改字段的值deadline 当字段 evaluation_id 的值发生变化时。同样只是为了测试。

我真正需要的是执行与我提到的类似的查询。但是,当我执行此查询时,deadline 字段上没有打印任何内容。当我检查日志时,我看到了这个警告:

WARNING db_name openerp.models: Cannot execute name_search, no _rec_name defined on hr_evaluation.evaluation

我尝试在线查看此警告的原因,但没有任何帮助。难道我做错了什么?如何从 @api.onchange(self) 中执行查询?

最佳答案

正如 Hardik 所说,cr.execute() 不会直接返回结果。执行查询后,您需要从游标中获取值。像这样尝试:

@api.onchange('evaluation_id')
def onchange_evalID(self):
    self.env.cr.execute('SELECT date '
                               'FROM hr_evaluation_evaluation where id=119')
    self.deadline = self.env.cr.fetchone()[0]

关于python - 如何从 Python 在 Odoo-8 中执行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32583208/

相关文章:

python - Pocketsphinx解码器初始化返回-1

openerp - Odoo-默认为用户启用开发者模式

python - Python函数字符串索引超出范围

python - 如何用 Pandas 创建高低开收盘图表

swift - 转换 ASCII 十进制

postgresql - 在 Postgresql 中创建一个多列作为参数的函数

sql - 将函数的数字结果转换为带逗号的字符串的示例

python - 如何在 OpenERP 中定义多公司感知模型

open-source - OpenERP 可以换肤吗?

Python:字典列表 - 使用键作为标题,行是值(天真的方式)