如何从模型中获取价值'ir.property'。奥多 14



我想在standard_price的计算域中得到主要公司的standard_price的值。我尝试了这段代码,但总是显示'False'值。

请帮忙??

下面是我的代码:
class ProductTemplate(models.Model):
_inherit = "product.template"
@api.depends_context('company')
@api.depends('product_variant_ids', 'product_variant_ids.standard_price')
def _compute_standard_price(self):
st_price = self.env['ir.property']._get(self.with_context(company=self.env.ref('base.main_company')).standard_price,"product.product")
_logger.info('------st_price:%s', st_price)
# Depends on force_company context because standard_price is company_dependent
# on the product_product
unique_variants = self.filtered(lambda template: len(template.product_variant_ids) == 1)
for template in unique_variants:
template.standard_price = template.product_variant_ids.standard_price
for template in (self - unique_variants):
template.standard_price = 0.0

结果:------st_price:False

感谢

您需要使用force_company作为上下文标志和"reload"记录:

main_company = self.env.ref('base.main_company')
main_company_templates_prices = {
t.id:t.standard_price for t in 
self.with_context(force_company=main_company.id)
}
for template in self:
main_company_standard_price = main_company_templates_prices.get(
template.id, template.standard_price)
# do something

相关内容

  • 没有找到相关文章

最新更新