代码之家  ›  专栏  ›  技术社区  ›  forvas

为什么在odoo11中安装模块时会出现“字符串格式化期间没有转换所有参数”的错误?

  •  0
  • forvas  · 技术社区  · 5 年前

    我正在尝试安装 l10n_es_aeat 奥多社区协会开发的模块。我已将其安装在本地,没有问题,但是在远程服务器上,我收到以下错误:

    在字符串格式化期间,并非所有参数都转换为None“while

    此错误是由于模块引入的XML数据导致的,该数据只是下一条记录:

    <odoo noupdate="1">
    
    <record id="res_partner_aeat" model="res.partner">
        <field name="name">Agencia Estatal de Administración Tributaria (AEAT)</field>
        <field name="supplier">1</field>
        <field name="customer" eval="False"/>
        <field name="is_company">1</field>
        <field name="city">Madrid</field>
        <field name="zip">28020</field>
        <field name="country_id" ref="base.es"/>
        <field name="vat">ESQ2826000H</field>
        <field name="street">C/ Lérida 32-34 </field>
        <field name="phone">91 583 80 72</field>
        <field name="website">https://www.agenciatributaria.gob.es</field>
        <field name="image" type="base64" file="l10n_es_aeat/static/description/icon.png"/>
    </record>
    
    </odoo>
    

    你知道发生了什么吗?谢谢您!

    0 回复  |  直到 5 年前
        1
  •  0
  •   forvas    5 年前

    多亏了特拉维斯,当我要把整个回溯记录粘贴到他身上时,我意识到有一句话我以前从未见过:

    File "/my_odoo_path/linked/partner_vat_unique/models/res_partner.py", line 29, in _check_vat_unique
        "partner.") % record.vat)
    

    ESQ2826000H 存储在远程数据库的服务器中。所以当Odoo试图加载模块的XML记录时 l10n_es_aeat ,抛出错误。这在localhost中有效,因为我的数据库没有与该VAT合作的伙伴。

    为什么远程数据库中已经有一个合作伙伴使用了这个VAT号码,这是因为我们进行了从版本8到版本11的数据迁移。在版本8中 10个月 还创建了一个带有该VAT的合作伙伴,因此当我们尝试在版本11中安装模块时,会与迁移的合作伙伴发生冲突。