Python 在视图级别上创建odoo模型

Python 在视图级别上创建odoo模型,python,openerp,Python,Openerp,我们可以在odoo中创建一个模型,使其不能反映在数据库级别吗 例如: class SalaOrder(model.models): _name='sale.order' 我不想在数据库中创建“销售订单”表。根据models.py(odoo/odoo/models.py)上的注释,您可以将\u auto设置为False class SalaOrder(model.models): _name = 'sale.order' _auto = False 评论说 _auto

我们可以在odoo中创建一个模型,使其不能反映在数据库级别吗

例如:

class SalaOrder(model.models):
    _name='sale.order'

我不想在数据库中创建“销售订单”表。

根据
models.py
(odoo/odoo/models.py)上的注释,您可以将
\u auto
设置为
False

class SalaOrder(model.models):
    _name = 'sale.order'
    _auto = False
评论说

_auto = False # don't create any database backend
以下是有关Odoo型号的更多详细信息(来自同一代码):

Odoo模型是通过继承创建的:

  • :类:
    模型
    用于常规数据库持久化模型

  • :class:
    TransientModel
    用于临时数据,存储在数据库中,但 每隔一段时间自动吸尘

  • :class:
    AbstractModel
    用于表示共享的抽象超类 多继承模型

系统会在每个数据库中自动实例化每个模型一次。那些 实例表示每个数据库上的可用模型,并取决于 该数据库上安装了哪些模块。每个类的实际类 实例是从Python类构建的,这些类从 相应的模型

每个模型实例都是一个“记录集”,即 模型的记录。记录集由以下方法返回: :meth:
~。浏览
,:meth:
~。搜索
,或字段访问。记录没有记录 显式表示:记录表示为一个记录集 记录

要创建不应实例化的类_register类 属性可以设置为False


你所说的“反射”是什么意思有点不清楚。这是否意味着您不希望该表由odoo自动创建,或者您希望使用另一个名称创建它?是的,我不希望创建表。这里有一点警告。Odoo总是希望通过_auto或您自己的代码创建一个表_模型上的auto=False用于在init方法中显式创建表的报表。如果使用_auto=False并且不创建表,您将在日志文件中收到警告。要创建没有任何表的模型,应使用AbstractModel。