您知道如何在Odoo客户树视图中插入列create_date
吗?它会让我看到在系统上创建的最新客户端。
谢谢,
爱德华
答案 0 :(得分:5)
用于在Odoo客户树视图上插入create_date列,请按照以下步骤操作: -
1: - 继承.py文件
from openerp import models, fields, api, _
class ResPartner(models.Model):
_inherit = 'res.partner'
create_date = fields.Datetime("Date")
2: - 扩展res.partner树视图。
<record id="view_inherit_res_partner_tree" model="ir.ui.view">
<field name="name">res.partner</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='function']" position="before">
<field name="create_date"/>
</xpath>
</field>
</record>
答案 1 :(得分:1)
按照此步骤
1 / 继承res_partner类。 在.py文件中,添加此代码。[redefine _order attribute]
class res_partner(osv.Model):
_inherit = "res.partner"
_order = "create_date desc"
res_partner()
2 / 在您的视图文件中,继承合作伙伴的树视图并添加create_date字段。
<record id="view_partner_tree_extended" model="ir.ui.view">
<field name="name">res.partner.extended</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='display_name']" position="before">
<field name="create_date"/>
</xpath>
</field>
</record>
注意:无需在python文件中添加create_date字段,因为它来自osv.model基类。 _order atttribute用于根据您的要求对记录进行排序。
重新启动服务器并更新模块。
希望它会对你有用!!
如果您有任何疑问,请与我们联系。
答案 2 :(得分:1)
我建议不要更改模型上的_order属性,因为这会更改数据库中的顺序,这可能不是您要实现的目标。相反,添加default_order =&#34; create_date desc&#34;属性到列表视图的树元素。在拱门:
<tree position="attributes">
<attribute name="default_order">create_date desc</attribute>
</tree>
答案 3 :(得分:0)
As create_date is Automatic fields in Odoo, you can directly access it in the tree view.
Example:-
<record id="customer_list_view" model="ir.ui.view">
<field name="name">customer.tree</field>
<field name="model">bank.customer</field>
<field name="arch" type="xml">
<tree string="Customer View">
<field name="name"/>
<field name="contact"/>
<field name="create_date"/> // Directly access from database(no need to declare in model)
</tree>
</field>
</record>
答案 4 :(得分:0)
我建议您使用xpath并从客户继承树视图。以下xml应该可以工作:
<record id="inherit_customer_tree_view" model="ir.ui.view">
<field name="name">res.partner.tree.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_tree" />
<field name="arch" type="xml">
<xpath expr="//field[@name='display_name']" position="before">
<field name="create_date" />
</xpath>
</field>
</record>
答案 5 :(得分:0)
你可以直接在xml中声明。无需定义.py文件。因为create_date是一个odoo魔术场。所以,你可以直接在树视图中声明。
答案 6 :(得分:0)
<data>
<xpath expr="//field[@name='display_name'][not(ancestor::field)]" position="after">
<field name="create_date"/>
</xpath>
<xpath expr="//field[@name='create_date'][not(ancestor::field)]" position="after">
<field name="create_uid"/>
</xpath>
</data>
使用合作伙伴树中的开发人员工具按钮将此代码放在视图中 create_date = date create_uid =创建合作伙伴的用户
答案 7 :(得分:0)
在Odoo / OpenERP中,我们可以继承或使用现有的模块对象/类/模型和视图。我们还可以继承现有模块的单个字段。问题是为什么我们需要这样的继承。
继承的目的或我们需要继承的原因如下: