【发布时间】:2018-03-02 09:32:18
【问题描述】:
我遇到的问题是某些相关字段上的列无法排序。
我用以下代码 sn-p 扩展了 res.partner 表单:
class CrmProject(models.Model):
_name = 'crm.project'
_inherit = ['mail.thread', 'ir.needaction_mixin']
_inherits = {
'res.partner': 'partner_id',
}
_order = "name asc"
@api.model
def _get_domain_employee(self):
ids = self.env.ref('aim_contacts.res_partner_business_2').ids
return [('business_id', '=', ids)]
.
.
industry_id = fields.Many2one('crm.project.industry', 'Construction Type')
我使用以下 sn-p 扩展了销售/机会模块:
class CrmOpportunity(models.Model):
_name = 'crm.opportunity'
_inherit = ['mail.thread', 'ir.needaction_mixin', 'aim.res.common']
_order = 'name asc'
@api.model
def _get_domain_employee(self):
ids = self.env.ref('aim_contacts.res_partner_business_2').ids
return [('business_id', '=', ids)]
name = fields.Char('Topic', required=True)
.
.
crm_project_id = fields.Many2one('crm.project', 'Project', track_visibility='onchange')
industry_id = fields.Many2one('crm.project.industry', 'Construction Type',related='crm_project_id.industry_id', readonly=True)
视图定义如下:
<record id="crm_opportunity_tree_view" model="ir.ui.view">
<field name="name">crm.opportunity.tree.view</field>
<field name="model">crm.opportunity</field>
<field name="arch" type="xml">
<tree string="Opportunities">
<field name="name" string="Topic" invisible="1"/>
<field name="crm_project_id"/>
<field name="industry_id"/>
</tree>
</field>
</record>
问题 1: 加载机会页面后,单击“构造类型”(industry_id) 标题不会执行任何操作。
问题 2: 此外,当单击“项目”(crm_project_id) 标题时,该列按 id 而不是名称排序(即使它显示名称)。
我认为问题 2 可以通过添加到 crm.project.py 来解决:
_order = "name asc"
但它不起作用。
任何帮助将不胜感激。
更新
将 store=True 添加到相关字段的方法有效。但是有一个问题,如果该字段已经创建,那么它将/可能不会使用最新的数据进行更新。
为了解决这个问题,我创建了另一个与原始信息相同的字段,然后链接到它。我读过其他人删除字段并重新创建它们。
【问题讨论】:
-
我的回答对你有帮助吗@3piece?
-
是的,您的回答是正确且有帮助的。 odoo 中的陈旧缓存问题需要解决。至少我知道这一点是为了设计相关领域的未来。
标签: python xml python-2.7 odoo odoo-9