我们可以在odoo中创建一个模型,因此无法反映数据库级别吗?
例如:
class SalaOrder(model.models):
_name='sale.order'
我不想在数据库中创建“sale_order”表。
根据对models.py
(odoo / odoo / models.py)的评论,你可以将_auto
设置为False
。
class SalaOrder(model.models):
_name = 'sale.order'
_auto = False
评论说
_auto = False # don't create any database backend
以下是有关Odoo模型的更多详细信息(来自相同的代码):
Odoo模型是通过继承创建的:
- :class:
Model
用于常规数据库持久化模型- :class:
TransientModel
用于临时数据,存储在数据库中,但每隔一段时间自动进行一次真空吸尘- :class:
AbstractModel
用于抽象超类,意味着由多个继承模型共享系统会自动为每个数据库实例化一次每个模型。这些实例表示每个数据库上的可用模型,并取决于该数据库上安装的模块。每个实例的实际类都是从创建和继承相应模型的Python类构建的。
每个模型实例都是“记录集”,即模型记录的有序集合。记录集由以下方法返回:meth:
~.browse
,:meth:~.search
或字段访问。记录没有明确的表示:记录表示为一条记录的记录集。要创建不应实例化的类,可以将_register类属性设置为False。