我想在ODOO-10中创建非瞬态模型和瞬态模型之间的关系。我们已经创建了一个进行一些复杂计算的瞬态模型,现在我们希望以非瞬态模型形式显示此数据,但由于瞬态和非瞬态模型关系的限制而无法实现此目的
答案 0 :(得分:2)
正常模型和transien One之间唯一允许的关系是:
T ---- M2o ----- > M
M ------ M2M ------> T
因此,如果您想要像One2many这样的行为,请使用Computed Many2many并通过简单的搜索调用将其填充。
答案 1 :(得分:2)
在非瞬态模型中,定义一个用于打开向导的按钮。
在非瞬态模型中
"parameters": {
"SvcCidr": {
"type": "string",
"defaultValue": "10.0.0.0/16",
"metadata": {
"description": "Maximum number of pods that can run on a node."
}
},
"PodCidr": {
"type": "string",
"defaultValue": "10.244.0.0/16",
"metadata": {
"description": "Maximum number of pods that can run on a node."
}
},
"DnsSvcIP": {
"type": "string",
"defaultValue": "10.0.0.10",
"metadata": {
"description": "Maximum number of pods that can run on a node."
}
},
"DockerCidr": {
"type": "string",
"defaultValue": "",
"variables": {
"vnetSubnetId": "[resourceId(resourceGroup().name, 'Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('vnetSubnetName'))]",
"resources": [
{
"type": "Microsoft.ContainerService/managedClusters",
"agentPoolProfiles": [
{
"vnetSubnetID": "[variables('vnetSubnetId')]",
"networkProfile": {
"networkPlugin": "[parameters('NetPlugin')]",
"serviceCidr": "[parameters('SvcCidr')]",
"podCidr": "[parameters('PodCidr')]",
"DNSServiceIP": "[parameters('DnsSvcIP')]",
"dockerBridgeCidr": "[parameters('DockerCidr')]"
在瞬态模型中
如果要从向导更改数据并反映在非瞬态模型中,请调用“写入超能力”功能并传递数据。 例如:
def open_wiz(self):
wiz=self.env['your_wizard_name'].create(
{
'xn_id':self.id, #your_non transient_model's id #not compulosory
'field1':feild1_data,
'field2':field2_data
}
return {
'name':'Display',
'view_type':'form',
'view_mode':'form',
'res_model':'your_wizard_model_name',
'type':'ir.actions.act_window',
'res_id':wiz.id,
'target':'new',
}