2015-08-31 144 views
3

我有一些类似于account.voucher.receipt.dialog.form的窗体视图,位于文件中: /addons_path/account_voucher/voucher_payment_receipt_view.xml如何在Odoo中预先获得默认的字段值?

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

  • 一些field标签从变化的方法(通过on_change属性定义)获得其默认值。

我想绕过这些表单视图和自动化过程,所以我需要提前知道这些默认字段值。 这样,我只需要根据需要添加其他字段值,然后在模型上调用create方法。

我正在使用Odoo v8。

我该如何做到这一点?

回答

2

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

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

相关问题