【问题标题】:How to add simple many2one field in existing module on ODOO 8?如何在 ODOO 8 的现有模块中添加简单的 many2one 字段?
【发布时间】:2015-03-23 16:01:03
【问题描述】:

我正在尝试在 ODOO 8 中的 crm.lead 视图中创建一个简单的 many2one 字段

这是我的代码:

campo_regione.py

from openerp import models, fields, osv
class nome_regione(models.Model):
  _name = "nome_regione"
  _inherit = "crm.lead"
  name = fields.Char('Nome', size=20, required=True)
class campo_regione(models.Model):
  _name = "campo_regione"
  _inherit = "crm.lead"
  _description = "Regione"
  campo_regione_id = fields.Many2one('nome_regione', 'Nome Regione')

campo_regione.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
   <data>
      <record model = "ir.ui.view" id = "campo_regione">
         <field name ="name">crm.regione.inherit</field>
         <field name = "model">crm.lead</field>
         <field name = "inherit_id" ref="crm.crm_case_form_view_leads"></field>
         <field name="arch" type="xml">
            <xpath expr="//field[@name='country_id']" position="after">
                <field name="campo_regione_id">Regione</field>
            </xpath>
        </field>
      </record>
   </data>
</openerp>

现在,在模块安装后,odoo 停止响应,即使我重新启动它,它也会继续循环。

我只能通过重命名或删除新模块来登录。

我错了什么?谢谢。

【问题讨论】:

    标签: python customization openerp odoo odoo-8


    【解决方案1】:

    我在您的代码中更改了一些内容,请尝试以下操作。

    from openerp import models, fields
    class nome_regione(models.Model):
      _name = "nome_regione"
      name = fields.Char('Nome', size=20, required=True)
    class campo_regione(models.Model):
      _inherit = "crm.lead"
      _description = "Regione"
      campo_regione_id = fields.Many2one('nome_regione', 'Nome Regione')
    

    【讨论】:

    • 有效!谢谢!现在我想与合作伙伴模块共享相同的字段,以免在潜在客户转换后丢失字段数据。我该怎么做?
    • 能否请您再澄清一下您的要求,以便我为您提供帮助。
    • 在CRM模块中,潜在客户和合作伙伴之间存在关系,可以通过单击“转换为机会”按钮将潜在客户转换为合作伙伴。我需要领导模块中的这个字段即使在合作伙伴模块上也是可见的,以便在转换后我不会丢失合作伙伴模块中的字段。
    • Leads & Opportunities 是同一个模型 crm.lead 你可以在这两个中获得这个字段。
    • 如果您的目标不同,请在问题中阐明此类代码,以便我们得出结论。
    【解决方案2】:

    当模型发生变化(添加、删除、重命名等)时,您必须重新启动服务。

    sudo service odoo restart
    

    【讨论】:

      【解决方案3】:

      我正在尝试将自定义字段添加到 crm.lead

      class Lead(models.Model):
      _inherits = 'crm.lead'
      
      x_facturation = fields.Boolean("x_facturation", default=False)
      
      <record model="ir.ui.view" id="devis_form_view">
        <field name="name">lead.facturation</field>
        <field name="model">crm.lead</field>
        <field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
        <field name="arch" type="xml">
          <notebook position="inside">
            <page string="Factures">
              <group>
                <field name="x_facturation"/>                         
              </group>
            </page>
          </notebook>
        </field>
      </record>
      

      但我在安装时遇到错误:字段 x_facturation 不存在当我尝试使用 else 模型(例如:res.partner)时,它工作正常

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多