这些提取有什么区别。 请给我一个参考网站的例子以获得清晰的想法。但是我很困惑它
res = cr.dictfetchall()
res2 = cr.dictfetchone()
res3 = cr.fetchall()
res4 = cr.fetchone()
cr是数据库游标(OPENERP 7)
中的当前行前:
def _max_reg_no(self, cr, uid, context=None):
cr.execute("""
select register_no as reg_no
from bpl_worker
where id in (select max(id) from bpl_worker)
""")
res = cr.fetchone()[0]
print (res)
return res
答案 0 :(得分:18)
cr.dictfetchall()
将以**字典**的形式为您提供所有匹配的记录,其中包含键,值。
cr.dictfetchone()
与cr.dictfetchall()
的工作方式相同,只是它只返回单个记录。
cr.fetchall()
会以 tupple列表的形式为您提供所有匹配的记录。
cr.fetchone()
与cr.fetchall()
的工作方式相同,只是它只返回单个记录。
在您的给定查询中,如果您使用:
cr.dictfetchall()
将为您提供[{'reg_no': 123},{'reg_no': 543},]
。cr.dictfetchone()
将为您提供{'reg_no': 123}
。cr.fetchall()
会给你'[(123),(543)]'。cr.fetchone()
会给你'(123)'。