第二十章 工具

drop_view_if_exists

groupby

groupby位于工具类tools.misc中, 与itertools中的groupby不同的是,odoo.tools中的groupby会自动将结果集合并,而不是只返回一个可迭代的对象。

我们来看两者的区别:

data = groupby(orders,key=lambda o:o.partner_id)
print('-----------------------')
print(data)

对于使用了odoo.tools.groupby的结果:

dict_items([(res.partner(10,), [sale.order(19,), sale.order(18,)])])

而使用了itertools.groupby的结果:

<itertools.groupby object at 0x7f9c8afc2ea0>

虽然两者在使用方式上相同,但明显odoo的显示方式更为友好。

qrcode

在odoo中生成二维码:

import qrcode 
import io

data = io.BytesIO()
qrcode.make(url.encode(), box_size=4).save(data, optimise=True, format='PNG')
w.qrcode = base64.b64encode(data.getvalue()).decode()

results matching ""

    No results matching ""