Tony Gu

共 73 篇文章 · 当前标签「Tony Gu」

Tony Gu· 2018-06-06 ·Odoo

Odoo Smart Button(动态按钮)

Odoo系统中主要包含下面三类按钮, 见下图:

Odoo Smart Button

[!NOTE] 也有人将Odoo的Smart Button直译为“智能按钮”的,感觉稍显夸张。另外,布尔按钮实际上也是一种特殊的动态按钮。

Tony Gu· 2018-05-06 ·Odoo

Odoo中布尔按钮的选项设置

Boolean Buttton
Boolean Button

上图中归档/有效转换按钮就是一个被称作布尔按钮的控件。这个控件对应一个布尔类型的字段,所以被称作布尔按钮。 我们可以用下面的语法来定义这个按钮:

Tony Gu· 2018-05-06 ·Odoo

Odoo 中的Mixin类的用法

假设有一个需求希望在订单上选择客户时显示该客户的可用信用额度。很显然我们可以继承sale.order对象,增加可用信用额度的计算字段:

class SaleOrder(models.Model):
    _inherit = 'sale.order'

     available_credit = fields.Float(string=u'可用信用额度', compute='_get_available_credit')

     @api.depends('partner_id')
     def _get_available_credit(self):
         ....

这个需求很简单。但是,如果对销售发票也有同样的需求呢?我们当然可以把上面的代码拷贝到account.invoice的继承对象中。

Tony Gu· 2018-01-31 ·Python

Python GIL和并发

什么是Python全局锁GIL

Python GIL

static PyThread_type_lock interpreter_lock = 0; /* This is the GIL */

上面这行代码位于CPython 2.7源码的ceval.c文件中。Guido van Rossum在2003年添加了这个注释:“这就是那个GIL鬼”,而这行代码则要追溯到1997年了。在Unix系统上PyThread_type_lock是标准C语言库的锁mutex_t的别名。它在Python解释器运行时初始化:

Tony Gu· 2018-01-16 ·Odoo

Odoo V11 pdf报表打印问题

我们知道Odoo是通过wkhtmltopdf 工具将HTML格式的报表转换为pdf报表。所以,如果系统中没有安装该工具,则在打印报表时会提示该工具缺失并只能显示HTML格式的报表。 安装wkhtmltopdf很简单,但是如果您用的是Debian/Ubuntu系统,请勿用下面的命令安装:

Tony Gu· 2017-11-10 ·Linux

Rsync 以及rsync-path

工作中需要将本地文件同步到远端服务器。远端服务器的ssh处于安全考虑禁止远程root登录, 普通用户远程登录后可以sudo操作需要root完成的任务。现在要将本地文件rsync到远 端服务器的root为所有者的目录下,怎么整?