python - 如何在 Odoo 中预先获取表单中的默认字段值?

标签 python python-2.7 odoo-8 default-value odoo

我在文件中有一些类似于 account.voucher.receipt.dialog.form 的表单 View : /addons_path/account_voucher/voucher_payment_receipt_view.xml

  • 一些 field 标签获取它们在模型中定义的默认值,

  • 一些 field 标签从 on change 方法(由 on_change 属性定义)获取它们的默认值。

我想绕过这些表单 View 并自动执行该过程,因此我需要提前知道这些默认字段值。 这样,我只需要在需要时添加额外的字段值,然后在模型上调用 create 方法。

我正在使用 Odoo v8。

我怎样才能做到这一点?

最佳答案

如果您想在日志中打印模型的所有默认值,您可以这样做:

from inspect import isfunction

@api.multi
def get_default_fields(self):
    for key, value in self._fields.iteritems():
        if value.name not in models.MAGIC_COLUMNS:
            if self._defaults.get(value.name, False):
                if isfunction(self._defaults[value.name]):
                    _logger.debug(self._defaults[value.name](
                        self, self.env.cr, self.env.uid, None
                    ))
                else:
                    _logger.debug(self._defaults[value.name])

我认为您可以根据需要调整此代码。

如果你想获取由 onchange 方法分配的一个字段的值,也许你必须手动运行该方法

关于python - 如何在 Odoo 中预先获取表单中的默认字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32304145/

相关文章:

python - 如何检测odoo中看板 View 的拖放事件?

python - pygame声音无法打开文件

python - 使用 Python 在 .csv 中拆分一行

python - 导致崩溃的最大递归错误深度?

google-app-engine - 在本地主机上导航到/_ah/admin 会产生未知的 404 错误

odoo-8 - 奥杜 : write method is only invoked when updating a model

python - 如何实现rust-cpython as_object()和into_object()?

python - 如何提取稀疏矩阵的主对角线?

Python For 循环列表有趣的结果

openerp - 在 Odoo 中,如何单击 TreeView 项目,打开占用整个文档空间的相关记录,而不是在 'new' 弹出窗口中打开?