通常,如果要使用Odoo界面将数据导出到CSV,则需要执行以下步骤:
就是这样。对于已经具有可从菜单项访问的树视图的模型,这是可以的。但是,如果要从没有视图或菜单项访问模型的模型中导出数据,则除非创建菜单项+动作+视图,否则无法导出记录。
我知道即使不是手动创建表单,也可以显示任何模型的树状视图。如果程序员没有创建,那么Odoo会为任何模型创建默认表单。
所以,我的问题是:
恐怕唯一的方法是在ir.model
表单视图中创建一个按钮,以显示该模型的树形视图。还有其他想法吗?已经有一种方法或模块可以做到这一点吗?
我想知道在URL中使用某些参数是否有一些技巧,地址使用menuitem id和action id:
http://localhost:8069/web?debug=#view_type=list&model=ir.ui.view&menu_id=41&action=25
我知道我可以在导出弹出窗口中导出与某些模型浏览相关的数据,但是您不能导出其他模型的所有记录,而只能导出与当前模型相关的记录。
答案 0 :(得分:1)
好吧,我没有找到任何快速的把戏。但是最好的方法是创建一个自定义模块,以便向ir.model
表单添加按钮并返回默认的树形视图,如下所示:
@api.multi
def show_tree_view(self):
self.ensure_one()
return {
'name': _("Export data"),
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': self.model,
'view_id': False,
'type': 'ir.actions.act_window',
'context': self.env.context,
}
就是这样,该按钮将显示任何树状视图,用户可以在其中选择要导出的记录:)
该视图的代码为:
<record id="view_model_form_inherit" model="ir.ui.view">
<field name="model">ir.model</field>
<field name="inherit_id" ref="base.view_model_form" />
<field name="arch" type="xml">
<field name="name" position="before">
<button type="object" name="show_tree_view" string="Show tree view" />
</field>
</field>
</record>