Odoo中从非瞬态模型到TransientModel的Many2One或One2Many关系的解决方法

时间:2019-06-21 05:53:13

标签: python odoo odoo-10 erp

我想在ODOO-10中创建非瞬态模型和瞬态模型之间的关系。我们已经创建了一个进行一些复杂计算的瞬态模型,现在我们希望以非瞬态模型形式显示此数据,但由于瞬态和非瞬态模型关系的限制而无法实现此目的

2 个答案:

答案 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',

            }