【问题标题】:How to create just a view in odoo9 that does not save data in a model?如何在odoo9中创建一个不将数据保存在模型中的视图?
【发布时间】:2016-09-06 04:11:33
【问题描述】:

我在 odoo9 工作。现在我需要一个允许用户选择合作伙伴并获取他的销售历史记录的视图。

现在我创建了一个模型“sale.history”,但它将所选数据保存为数据库中的记录。我真的不需要这个。

如何为此创建视图。

Please also see this image.

【问题讨论】:

    标签: openerp odoo-8 odoo-9 odoo-view


    【解决方案1】:

    对于此类视图/报告,您有两种选择。

    1. 使用TransientModel 代替Model 进行模型继承。数据库中的瞬态模型记录将被频繁运行的 cron 作业删除。电子邮件弹出/向导就是一个很好的例子。

    2. 为销售订单编写您自己的报告(数据库视图)。实际上已经有一份报告:报告/销售/销售分析。该报告的模型是sale.report,如果您想知道它是如何完成的。

    【讨论】:

      【解决方案2】:

      除了使用TransientModel(旧api)或AbstractModel(新api)...您可以简单地将字段的store属性设置为false,这样您的字段将永远不会被持久化到数据库中,它只是一个“视野”。

      class sale_history(model.Model):
          _name='sale.history'
      
          partner = fields.Many2one('res.partner', store=False)
      

      合作伙伴字段永远不会保存到数据库中

      【讨论】:

        【解决方案3】:

        您可以在模型中的字段上使用 store=False(如 danidee 建议的那样)。

        您也可以覆盖模型上的 create 方法。

        问题 - “sale.history”模型的目的是什么?如果它根本不存储任何数据,那么您最好针对“res.partner”创建一个新视图,而不是创建一个新模型。

        【讨论】:

          猜你喜欢
          • 2018-07-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-04-17
          • 2013-05-16
          • 2011-04-13
          相关资源
          最近更新 更多