我在文件中有一些类似于 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/