如何获得默认的字段值,这些值将在Odoo中以预先的形式出现?

2024-05-09 03:45:32 发布

您现在位置:Python中文网/ 问答频道 /正文

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

  • 一些field标记会获得在模型中定义的默认值,

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

我想绕过这些表单视图并自动执行这个过程,所以我需要预先知道这些默认字段值。 这样,我只需要在需要时添加额外的字段值,然后在模型上调用create方法。在

我用的是奥多v8。在

我怎么才能做到呢?在


Tags: 文件方法标记模型视图表单field定义
1条回答
网友
1楼 · 发布于 2024-05-09 03:45:32

如果要在日志中打印模型的所有默认值,可以执行以下操作:

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方法分配的一个字段的值,你可能需要手动运行这个方法

相关问题 更多 >