gpt4 book ai didi

python - 如何从 SQL 查询中提取数据并将其分配给 Odoo 类列?

转载 作者:太空狗 更新时间:2023-10-29 21:54:31 24 4
gpt4 key购买 nike

我一直在尝试从 .mdb 数据库中提取数据并将其放入 Odoo 8 类列中。

这是我的.py文件

  class attendance_biometric(osv.Model):
_name="attendance.biometric"
_rec_name='name'
_columns={

'fdate':fields.datetime('From Date'),
'tdate':fields.datetime('To Date'),
'code':fields.integer('Code'),
'name':fields.many2one('res.users','Employee Name', readonly=True),
'ref': fields.one2many('bio.data', 'bio_ref', 'Data'),
}

_defaults = {
'name': lambda obj, cr, uid, context: uid,

}


def confirm_submit(self, cr, uid, ids, context=None):
result=[]
DBfile = '/home/administrator/test.mdb'
conn = pyodbc.connect('DRIVER=MDBtools;DBQ='+DBfile)
cr = conn.cursor()
sql = '''
select InTime, OutTime, OutDeviceId, Duration from
AttendanceLogs '''
cr.execute(sql)
rows = cr.fetchall()
for row in enumerate(rows):
result.append(row)
raise osv.except_osv(_('Info'),_('Data : %s\n' % (result)))

现在,当我点击提交按钮时,经过一些修改后,数据如下图所示

Results in the logger info

有人可以为此提供有值(value)的意见吗?比如如何将这些值放入 Odoo 类列(我的意思是分配给类的字段)以及如何从两个表中获取列。

最佳答案

您需要了解 odoo 中的提取类型。

 - cr.dictfetchall()
It will returns the list of dictionary.
Example:
[{'column1':'value_column1',}, {'column2':'value_column2',}]

- cr.dictfetchone()
It will return dictionary (Single record)
Example:
{'column1':'value_column1',}


- cr.fetchall()
It will returns the list of tuple.
Example:
[('value_column1'), ('value_column2'), ].



- cr.fetchone()
It will returns the list of tuple.
Example:
('value_column1')

所以像这样更新你的代码,

res = cr.dictfetchall()
result['sname'] = res and res[0]['sname']

Whatever the values you want to set, all those must be returned by query.

不过,这只是示例,您可能需要根据自己的情况对其进行更新。

关于python - 如何从 SQL 查询中提取数据并将其分配给 Odoo 类列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37879787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com