给你分享一个我的启动脚本!
@echo off
title Odoo
COLOR 0A
SET PATH=%CD%\runtime\python;%CD%\runtime\pgsql\bin;%CD%\runtime\extra\wkhtmltopdf;%CD%\runtime\extra\nodejs;%PATH%.
call DBStart.bat
python %CD%\source\odoo-bin -c %CD%\config.conf
给你分享一个我的启动脚本!
@echo off
title Odoo
COLOR 0A
SET PATH=%CD%\runtime\python;%CD%\runtime\pgsql\bin;%CD%\runtime\extra\wkhtmltopdf;%CD%\runtime\extra\nodejs;%PATH%.
call DBStart.bat
python %CD%\source\odoo-bin -c %CD%\config.conf
@萧云飞 感谢您哈。做出来了,第一层赋值确实如你所说,第二次我就只能重写create方法来写入数据了!
	@api.onchange('suite_series')
	def onchange_suite_series(self):
		"""套装改变"""
		if self.main_materials_list or self.basic_materials_list or self.basic_incidentals:
			return {'warning': {
				'title': '警告',
				'message': '材料已经存在'
			}}
		self.basic_incidentals = self._incidentals()
		self.main_materials_list = self._materialValue()
		self.basic_materials_list = self._basicMaterial()
	@api.multi
	def _materialValue(self):
		"""返回主材数据的model"""
		page = list()
		for item in self.suite_series.main_material_ids:
			# 主材项目数据
			data = {
				'location': item.area_id.id,  # 区域位置
				'name': item.project_record_id,  # 项目名称
				'model': item.model_type,  # 型号
				'brand': item.product_brand_id.id,  # 品牌
				'specifications': item.specifications,  # 规格
				'price': item.price,  # 单价
				'number': item.number,  # 数量
				'unit': item.unit.id,  # 单位
				'total_price': item.total_price,  # 合价
				'remarks': item.general_description,  # 备注
				'attribute': item.attribute_value_ids  # 属性
			}
			page.append((0, 0, data))
		return page
	@api.model
	def create(self, values):
		"""重写保存方法"""
		result = super(BudgetMainMaterial, self).create(values)
		old_material = self.env['material'].search([('main_material_id', '=', values[u'name'])])
		for material in old_material:
			self.env['budget.material'].create({'product_id': material.product_id.id, 'main_id': result.id})
@萧云飞 那我能不能直接new一个对象进去呢
@yeko 此方法只能用在onchange里面!
@萧云飞 我现在的代码是这样的。
	def _materialValue(self):
		page = []
		for item in self.suite_series.main_material_ids:
			product_ids = []
			data = {
				'location': item.area_id.id,  # 区域位置
				'name': item.project_record_id.name,  # 项目名称
				'model': item.model_type,  # 型号
				'brand': item.product_brand_id.id,  # 品牌
				'specifications': item.specifications,  # 规格
				'price': item.price,  # 单价
				'number': item.number,  # 数量
				'unit': item.unit.id,  # 单位
				# 'product_ids': False,
				'total_price': item.total_price,  # 合价
				'remarks': item.general_description,  # 备注
				'attribute': item.attribute_value_ids  # 属性
			}
			# 遍历材料  0,false,[object Object],0,false,[object Object]
			for val in item.product_id:
				line_item = {
					'product_id': val.product_id.id,  # 材料
					'classify': val.pro_type  # 分类
				}
				product_ids.append((0, 0, line_item))
			data.update({'product_ids': product_ids})
			page.append((0, False, data))
		return page
返回的数据是:
< type 'list' >: [(0, 0, {
	'specifications': u '\u89c4\u683c',
	'attribute': product.attribute.value(),
	'price': 100.0,
	'number': 1,
	'remarks': False,
	'unit': 8,
	'total_price': 10000.0,
	'name': u '\u6728\u5730\u677f',
	'location': 12,
	'model': u '\u578b\u53f7',
	'brand': 1,
	'product_ids': [(0, 0, {
		'product_id': 25,
		'classify': False
	}), (0, 0, {
		'product_id': 33,
		'classify': False
	})]
}), (0, 0, {
	'specifications': u '12',
	'attribute': product.attribute.value(),
	'price': 237500.0,
	'number': 112,
	'remarks': False,
	'unit': 8,
	'total_price': 0.0,
	'name': u '\u74f7\u7816',
	'location': 12,
	'model': u '12',
	'brand': 1,
	'product_ids': [(0, 0, {
		'product_id': 32,
		'classify': False
	}), (0, 0, {
		'product_id': 33,
		'classify': False
	})]
})]
onchange方法
	@api.onchange('suite_series')
	def onchange_suite_series(self):
		"""套装改变"""
		if self.main_materials_list or self.basic_materials_list or self.basic_incidentals:
			return {'warning': {
				'title': '警告',
				'message': '材料已经存在'
			}}
		self.main_materials_list = self._materialValue()
@萧云飞 这个我现在知道,我现在的model其实是one2many里面还有一个one2many。。。第一个one2many赋值没有问题,但第二个one2many就有问题了
我现在有这样的一个模型
Class A:
fields.one2many('a')
Class B:
fields.one2many('c')
Class 
fields.many2one('product.product')
现在的需求是,在 Class A里面有一个onchange方法,他是根据客户的改变,带出他的one2many(这里的one2many数据,包含下级的,都是从其他地方取过来赋值的),,请问这样的数据,怎么操作呢。。