我有一个名为Quotes的新的完全自定义模块:
A类:产品(名称(文字),描述(文字),存款(布尔),子产品(指向B类的one2man))
B类:子产品(名称(文字),描述(文字),因子1(浮动),因子2(浮动),产品(指向A类的许多人))
C类:行情(名称(文本),描述(文本),日期(日期时间),line_quote(指向D类的one2many))
D类:Line_Products(名称(文字),描述(文字),产品(指向A类的许多人),存款(布尔),def_onchange(根据产品填写所有字段),Line_Sub-产品(one2many指向Class E),引用(许多人指向C类))
E类:Line-Sub-Products(名称(文本),描述(文本),factor1(float),factor2(float),product(指向D类的many2one),子产品(many2one指向B类), def_onchange(根据子产品填写所有字段))
根据A类和B类之间的关系选择D类产品时,我需要自动填写E类
任何帮助将不胜感激
答案 0 :(得分:0)
好一会儿,我找到了解决方法:
首先,在C类中,创建一个字段product_id(指向类A的many2one)
在D类和E类中,不需要“ def_onchange”,因此将其删除。我们将从C类开始。
然后,在类C上,仅创建一个根据特定需求创建字典的方法:
@api.multi
def action_load(self):
if self.product_id:
vals_product={'Line_Products':self.product_id.name,'product_id':self.product_id.id,'deposit':True,'descripcion':self.product_id.description,'quote_id':self.id}
# Create product vals
new_product = self.env['classD.model'].create(vals_product)
# Then loop over items in Product
for Sub-Product in self.product_id.Sub-Products_ids:
vals_Sub-Product = {'cober_id':Sub-Product.ids[0],'name':Sub-Product.name,'description':Sub-Product.description,'factor1':Sub-Product.factor1,'factor2':Sub-Product.factor2,'subproducts':Sub-Product.id,'product_id':self.product_id.id}
# Create Sub-Product vals
new_Sub-Product = self.env['classE.model'].create(vals_Sub-Product)
# Browse for Product ID
self.env['classD.model'].browse(new_product.id).onchange_result()
return
else:
return
希望任何人都觉得有帮助。