我为Odoo10下载了一个继承了res.partner的应用程序: https://www.odoo.com/apps/modules/10.0/partner_credit_limit/
在Odoo中安装该应用程序后,我看到over_credit字段(res.partner)被覆盖,默认情况下更改为True。没关系。 问题是,当我尝试覆盖另一个字段(来自res_partner的credit_limit)时,它没有改变。然后,我添加了一个新字段(x_riesgo_subjetivo),但它出现在窗体中,但是没有选择的可能(这是“选择”字段)。它已经作为x_riesgo_subjetivo在数据库中创建。
代码是:
models / partner.py(在models文件夹的init中声明)
from odoo import fields, models
class ResPartner(models.Model)
_inherit = 'res.partner'
over_credit = fields.Boolean('Allow Over Credit? modified', default=True)
credit_limit = fields.Float(digits=0, required=True, default=1000.0, help="Help Text")
x_riesgo_subjetivo = fields.Selection([('good', 'Good Debtor'), ('normal', 'Normal Debtor'), ('bad', 'Bad Debtor')], string='Degree of trust you have in this debtor', default='normal', company_dependent=True)
views / partner_view.xml
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_category_property_form" model="ir.ui.view">
<field name="name">partner.over.credit.limit.form.inherit</field>
<field name="model">res.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="account.view_partner_property_form"/>
<field name="arch" type="xml">
<field name="credit" position="after">
<field name="credit_limit"/>
<field name="over_credit"/>
<field name="x_riesgo_subjetivo"/>
</field>
</field>
</record>
</odoo>
此外,当我在over_credit字段中将default = True更改为default = False时,创建新的合作伙伴时也不会更改。
您会帮助我发现我做错了什么吗?我继承自res.partner,当我尝试该应用程序时,一切似乎都运行正常。但是,当我添加所做的更改时,它并不能按我的意愿运行。也许我错过了Odoo中的某些配置?
谢谢。
答案 0 :(得分:0)
首先,模型声明中既没有冒号(:),也缺少Python所需的缩进:
from odoo import fields, models
class ResPartner(models.Model):
_inherit = 'res.partner'
over_credit = fields.Boolean('Allow Over Credit? modified', default=True)
credit_limit = fields.Float(digits=0, required=True, default=1000.0, help="Help Text")
x_riesgo_subjetivo = fields.Selection([('good', 'Good Debtor'), ('normal', 'Normal Debtor'), ('bad', 'Bad Debtor')], string='Degree of trust you have in this debtor', default='normal', company_dependent=True)
另一方面,我正在v12上测试您的代码,并且字段credit
不再存在,因此我使用了vat
,它的工作原理很吸引人。
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_category_property_form" model="ir.ui.view">
<field name="name">partner.over.credit.limit.form.inherit</field>
<field name="model">res.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="account.view_partner_property_form"/>
<field name="arch" type="xml">
<field name="vat" position="after">
<field name="credit_limit"/>
<field name="over_credit"/>
<field name="x_riesgo_subjetivo"/>
</field>
</field>
</record>
</odoo>
如果需要,我可以将v12的最小工作模块上传到github。
顺便说一下,您是否有名为__init__.py
的文件包含
from . import models
和models/__init__.py
包含
from . import partner
?