I just want to know how to set the values in one2many by using computed field calculation. Here my code is
Python file
from openerp import models ,fields,api from openerp import SUPERUSER_ID from dateutil.relativedelta import relativedelta import openerp.addons.decimal_precision as dp import math import logging import datetime class extend_product_product(models.Model): _inherit = 'product.product' monthly_lines = fields.One2many('minmax.monthly.data','month_id', 'Monthy Sales',compute="_get_monthly_sales") @api.one def _get_monthly_sales(self): vals = {} vals.update({'monthly_lines':[(0,0,{'month_name_id':1,'so_qty':35})]}) self.write(vals) # Also I have tried self.monthly_lines = [(0,0,{'month_name_id':1,'so_qty':35})] class minmax_monthly_data(models.Model): _name = 'minmax.monthly.data' month_id = fields.Many2one('product.product', 'Product Reference', select=True, required=True) month_name_id = fields.Many2one('minmax.months','Minmax Month',required=True) so_qty = fields.Float('Sales Qty', digits_compute=dp.get_precision('Product Unit of Measure'), required=True)
XML File
<?xml version="1.0" encoding="utf-8"?> <openerp> <data> <record model="ir.ui.view" id="product_monthly_minmax_tree"> <field name="name">product.product.tree</field> <field name="model">product.product</field> <field name="inherit_id" ref="product.product_product_tree_view"/> <field name="type">form</field> <field name="arch" type="xml"> <field name="ean13" position="after"> <field name="monthly_lines" widget="one2many_tags" /> </field> </field> </record> </data> </openerp>
Here I have tried to insert the data manually. The function is called properly whenever we load the product.product tree view. But there is no results. Thanks in advance.