python - Odoo python中的Many2one和One2Many错误
问题描述
我遇到了这个问题,我继承了一个带有 sale.order 的类,而另一个类只是一个 __name 或与之相关联。
class module_A(models.Model):
_name='new.module_a'
sale_id = fields.Many2one(comodel_name='sale.order')
currency_id = fields.Many2one('res.currency', string="currency")
price_value = fields.Monetary(related="sale_id.total_price", string="Initial Price value",
currency_field="currency_id")
class module_B(models.Model):
_inherit = 'sale.order'
module_id = fields.One2many(string="module A",
comodel_name='new.module_a', inverse_name='sale_id')
total_price = fields.Monetary(string="Price Initial", store=True, readonly=True, compute='_amount_all',
tracking=4)
amount_untaxed = fields.Monetary(string="Untaxed Amount", store=True, readonly=True, compute='_amount_all',
tracking=5)
amount_tax = fields.Monetary(string="Taxes", store=True, readonly=True, compute='_amount_all')
@api.depends('order_line.price_total')
def _amount_all(self):
for order in self:
amount_untaxed = amount_tax = 0.0
for line in order.order_line:
amount_untaxed += line.price_subtotal
amount_tax += line.price_tax
total_price = amount_tax + amount_untaxed
print(total_price)
order.update({
'amount_untaxed': amount_untaxed,
'amount_tax': amount_tax,
'amount_total': amount_untaxed + amount_tax,
'total_price': amount_untaxed + amount_tax,
})
问题: 1. 在树形视图中,price_value 为 0,表示与 sale_id 关联后,没有从 total_price 中获取值。我不知道为什么。
xml:
<field name="module_id"/>
tree view
control
field name="price_value" <- field in module A
<group>
<field name="total_price"/> <- field in module B
注意:这些字段不能互换,因为 total_price 将查看继承的 sale.order,而 module_b 中不存在 price_value。
如果我汇总所有值,我还需要来自类 module_A 的值并将其放入 module_B。这是一个大问题,因为它不起作用,因为它们都使用相同的列和表。
我必须在树视图的每个项目中添加一个小计,我必须在其中解决第 2 个问题。示例计算类 module_A 中的总值并获取从 A 到 B 的值,以便我可以在视图中显示它。
初始价格值仍然为零。
解决方案
我已经找到了这个问题的答案。只是为了让架构师 ID 依赖于 api.depends 来访问模块 A 中的字段。
推荐阅读
- javascript - 错误 - 无法读取 null 的属性“值”
- python - 使用 python 代码计算 R 中 lm() 函数的输出“se.fit”和“resdiual.scale”
- arrays - 加权字母生成器
- python - 如何使用 pop 函数删除二维数组中的所有元素
- graphql - Shopify graphql 客户创建
- python - 无法使用 Python Pyautogui 以管理员身份打开 CMD
- javascript - React FilePond 预览 [ 文件海报 ] 不工作
- scala - 如何使用 SparkSQL 从数据框列中获取值?
- python - GPIO控制在while true:
- arrays - 创建具有固定数量元素但仍少于固定数量的随机生成数组