我刚刚意识到,用户不能订购
Many2many
字段像
One2many
领域
标准的
One2many
字段,可以看到comodel及其字段的树状视图。如果单击
One2many
,它的树状视图会根据您单击的字段自动排序(如果该字段存储在数据库中),您会看到一个小箭头图标。
但在标准
很多
字段,如果您单击任何列的名称(该字段是否存储在数据库中并不重要),它什么都不做,您无法对其树状视图排序。
实际上,XML树属性
default_order
如果树是在一个内部打开的,似乎不起作用
很多
.
唯一仍然有效的是
_order
如果我将其添加到comodel的Python定义中。
例如:
我有一个
很多
字段指向
account.treasury.forecast.invoice
.我不会告诉字段打开任何特定视图,因此默认情况下会加载以下树视图:
<record model="ir.ui.view" id="account_treasury_forecast_invoice_tree_view">
<field name="name">account.treasury.forecast.invoice.tree</field>
<field name="model">account.treasury.forecast.invoice</field>
<field name="arch" type="xml">
<tree string="Invoices" widget="many2many">
<field name="date_due" />
<field name="invoice_id" />
<field name="partner_id"/>
<field name="journal_id" />
<field name="base_amount" sum="Total Base" />
<field name="tax_amount" sum="Total Taxes" />
<field name="total_amount" sum="Total" />
<field name="residual_amount" sum="Total Residual" />
<field name="state" />
</tree>
</field>
</record>
我意识到
默认订单
如果在中打开以下视图,则不执行任何操作
很多
领域
<record model="ir.ui.view" id="account_treasury_forecast_invoice_tree_view">
<field name="name">account.treasury.forecast.invoice.tree</field>
<field name="model">account.treasury.forecast.invoice</field>
<field name="arch" type="xml">
<tree string="Invoices" widget="many2many" default_order="date_due">
<field name="date_due" />
<field name="invoice_id" />
<field name="partner_id"/>
<field name="journal_id" />
<field name="base_amount" sum="Total Base" />
<field name="tax_amount" sum="Total Taxes" />
<field name="total_amount" sum="Total" />
<field name="residual_amount" sum="Total Residual" />
<field name="state" />
</tree>
</field>
</record>
至少
_命令
作品:
class AccountTreasuryForecastInvoice(models.Model):
_name = 'account.treasury.forecast.invoice'
_description = 'Treasury Forecast Invoice'
_order = 'date_due'
但问题是,该界面不允许用户按其任何字段排序,我希望允许他们有时按字段排序
date_due
有时
invoice_id
.我怎么办?你是否也经历过同样的问题
很多
领域?