From f74c55182a5371c88f64af326cbbb3f56958fbb0 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Fri, 9 Sep 2011 17:26:22 +0200 Subject: [PATCH] [IMP] lift mapping from field types to PGTYPES outside get_pg_type bzr revid: xmo@openerp.com-20110909152622-114y4401x6gw6a79 --- openerp/osv/orm.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 692368cd44d..f20b759f6f8 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -488,6 +488,17 @@ def pg_varchar(size=0): return 'VARCHAR(%d)' % size return 'VARCHAR' +FIELDS_TO_PGTYPES = { + fields.boolean: 'bool', + fields.integer: 'int4', + fields.integer_big: 'int8', + fields.text: 'text', + fields.date: 'date', + fields.time: 'time', + fields.datetime: 'timestamp', + fields.binary: 'bytea', + fields.many2one: 'int4', +} def get_pg_type(f, type_override=None): """ :param fields._column f: field to get a Postgres type for @@ -497,19 +508,8 @@ def get_pg_type(f, type_override=None): """ field_type = type_override or type(f) - type_dict = { - fields.boolean: 'bool', - fields.integer: 'int4', - fields.integer_big: 'int8', - fields.text: 'text', - fields.date: 'date', - fields.time: 'time', - fields.datetime: 'timestamp', - fields.binary: 'bytea', - fields.many2one: 'int4', - } - if field_type in type_dict: - f_type = (type_dict[field_type], type_dict[field_type]) + if field_type in FIELDS_TO_PGTYPES: + f_type = (FIELDS_TO_PGTYPES[field_type], FIELDS_TO_PGTYPES[field_type]) elif isinstance(f, fields.float): if f.digits: f_type = ('numeric', 'NUMERIC')