任何人都可以解释为什么OpenErp在posgresql数据库表中创建一些默认值 在OpneErp模块中创建新对象??
在 email_template模块 - >中 email.template 对象 - >创建 一些默认字段 像..
id, create_uid, create_date, write_date
用描述
解释每个字段来自基本模块
中的Openerp trunk-Server,而不是.. res_users and res_partner
在PostgreSQL数据库表中没有创建这种字段
我的问题是为什么创建默认字段以及为什么不在某些基本模块中使用默认字段?
答案 0 :(得分:2)
仔细检查以下字段已存在于基本模块表res_users
和res_partner
id, create_uid, create_date, write_date, write_uid
每当您创建新表时,您必须继承osv.osv
基类。
示例:我正在创建项目表并从
osv.osv
继承,因此该表会自动创建额外的五列 id,create_uid,create_date,write_date,write_uid 另外,您还可以定义 project_name 列。共创建了6个六列。
from openerp.osv import osv, fields
class My_project(osv.osv):
_name = 'my.project'
_description = 'My project'
_columns = {
'project_name':fields.char('Project Name',size=30),
}
哪个用户(write_uid)是更新表行,同时还存储时间戳更新到write_date
列。
因此,上述原因有助于我们跟踪时间和用户ID 。
如果设置 _log_access = False 属性,则不会在SQL表中创建四个字段: create_uid,create_date,write_uid,write_date 。
from openerp.osv import osv, fields
class My_project(osv.osv):
_name = 'my.project'
_description = 'My project'
_log_access = False
_columns = {
'project_name':fields.char('Project Name',size=30),
}
现在您只检查为此表创建的2列。
希望这对你有帮助!
答案 1 :(得分:2)
您必须请验证您的数据库包,res_users
和res_partners
中已包含以下字段。
和字段:
id
:每个特定记录的索引号序列
表
create_uid
:创建特定记录的用户ID。
create_date
:记录的创建日期。
write_uid
:上次更新特定记录的用户ID
write_date
:记录更新日期