diff --git a/trytond/init.sql b/trytond/init.sql
index d4ec9612e2..32620b3d7c 100644
--- a/trytond/init.sql
+++ b/trytond/init.sql
@@ -21,10 +21,9 @@ CREATE TABLE ir_model (
primary key(id)
);
-CREATE TABLE ir_model_fields (
+CREATE TABLE ir_model_field (
id serial,
- model varchar(64) DEFAULT ''::varchar NOT NULL,
- model_id int references ir_model on delete cascade,
+ model int references ir_model on delete cascade,
name varchar(64) DEFAULT ''::varchar NOT NULL,
relation varchar(64),
field_description varchar(256),
diff --git a/trytond/ir/default.py b/trytond/ir/default.py
index 832d65cc43..0d93a14824 100644
--- a/trytond/ir/default.py
+++ b/trytond/ir/default.py
@@ -10,7 +10,7 @@ class Default(OSV):
_columns = {
'model': fields.Many2One('ir.model', 'Model', required=True,
ondelete='cascade'),
- 'field': fields.Many2One('ir.model.fields', 'Field', required=True,
+ 'field': fields.Many2One('ir.model.field', 'Field', required=True,
ondelete='cascade'),
'value': fields.Text('Value'),
'clause': fields.Text('Clause'),
@@ -43,7 +43,7 @@ class Default(OSV):
def set_default(self, cursor, user, model, field, clause, value,
user_default, context=None):
model_obj = self.pool.get('ir.model')
- field_obj = self.pool.get('ir.model.fields')
+ field_obj = self.pool.get('ir.model.field')
model_id = model_obj.search(cursor, user, [
('model', '=', model),
], context=context)[0]
diff --git a/trytond/ir/fr_FR.csv b/trytond/ir/fr_FR.csv
index 5dba00e62a..a2297183e8 100644
--- a/trytond/ir/fr_FR.csv
+++ b/trytond/ir/fr_FR.csv
@@ -79,18 +79,18 @@ field,"ir.model.data,fs_id",0,Identifier on File System,Identifiant sur le syst
field,"ir.model.data,model",0,Model,Modèle,0
field,"ir.model.data,module",0,Module,Module,0
field,"ir.model.data,values",0,Values,Valeurs,0
-field,"ir.model,fields",0,Fields,Champs,0
-field,"ir.model.fields,field_description",0,Field Description,Champ de description,0
-field,"ir.model.fields,group_name",0,Group Name,Nom du groupe,0
-field,"ir.model.fields,groups",0,Groups,Groupes,0
-field,"ir.model.fields,help",0,Help,Aide,0
-field,"ir.model.fields,model",0,Model Name,Nom du modèle,0
-field,"ir.model.fields,model_id",0,Model id,Id de modèle,0
-field,"ir.model.fields,name",0,Name,Nom,0
-field,"ir.model.fields,relate",0,Click and Relate,Clicker et relier,0
-field,"ir.model.fields,relation",0,Model Relation,Relation du modèle,0
-field,"ir.model.fields,ttype",0,Field Type,Champ du type,0
-field,"ir.model.fields,view_load",0,View Auto-Load,Vue auto-chargée,0
+field,"ir.model,field",0,Fields,Champs,0
+field,"ir.model.field,field_description",0,Field Description,Champ de description,0
+field,"ir.model.field,group_name",0,Group Name,Nom du groupe,0
+field,"ir.model.field,groups",0,Groups,Groupes,0
+field,"ir.model.field,help",0,Help,Aide,0
+field,"ir.model.field,model",0,Model Name,Nom du modèle,0
+field,"ir.model.field,model_id",0,Model id,Id de modèle,0
+field,"ir.model.field,name",0,Name,Nom,0
+field,"ir.model.field,relate",0,Click and Relate,Clicker et relier,0
+field,"ir.model.field,relation",0,Model Relation,Relation du modèle,0
+field,"ir.model.field,ttype",0,Field Type,Champ du type,0
+field,"ir.model.field,view_load",0,View Auto-Load,Vue auto-chargée,0
field,"ir.model,info",0,Information,Information,0
field,"ir.model,model",0,Object name,Nom de l'objet,0
field,"ir.model,name",0,Model name,Nom du modèle,0
@@ -410,7 +410,7 @@ view,ir.lang,0,Languages,Langues,0
view,ir.model,0,Fields Description,Champs de description,0
view,ir.model,0,Model Description,Description du modèle,0
view,ir.model.access,0,Access controls,Contrôles d'accès,0
-view,ir.model.fields,0,Fields,Champs,0
+view,ir.model.field,0,Fields,Champs,0
view,ir.module.category,0,Module Categories,Catégories de module,0
view,ir.module.category,0,Module Category,Catégorie de module,0
view,ir.module.module,0,Cancel Install,Annuler l'installation,0
diff --git a/trytond/ir/model.py b/trytond/ir/model.py
index c7fcd6d82f..17954c93cd 100644
--- a/trytond/ir/model.py
+++ b/trytond/ir/model.py
@@ -24,7 +24,7 @@ class Model(OSV):
'name': fields.Char('Model name', size=64, translate=True),
'model': fields.Char('Object name', size=64, required=True),
'info': fields.Text('Information'),
- 'fields': fields.One2Many('ir.model.fields', 'model_id', 'Fields',
+ 'fields': fields.One2Many('ir.model.field', 'model', 'Fields',
required=True),
}
_defaults = {
@@ -33,25 +33,24 @@ class Model(OSV):
Model()
-class ModelFields(OSV):
- "Model fields"
- _name = 'ir.model.fields'
+class ModelField(OSV):
+ "Model field"
+ _name = 'ir.model.field'
_description = __doc__
_columns = {
- 'name': fields.char('Name', size=64),
- 'model': fields.char('Model Name', size=64, required=True),
- 'relation': fields.char('Model Relation', size=64),
- 'model_id': fields.many2one('ir.model', 'Model id', required=True,
+ 'name': fields.Char('Name', size=64),
+ 'relation': fields.Char('Model Relation', size=64),
+ 'model': fields.Many2One('ir.model', 'Model id', required=True,
select=True, ondelete='cascade'),
- 'field_description': fields.char('Field Description', size=256,
+ 'field_description': fields.Char('Field Description', size=256,
translate=True),
- 'ttype': fields.char('Field Type', size=64),
- 'relate': fields.boolean('Click and Relate'),
+ 'ttype': fields.Char('Field Type', size=64),
+ 'relate': fields.Boolean('Click and Relate'),
- 'groups': fields.many2many('res.group', 'ir_model_fields_group_rel',
+ 'groups': fields.Many2Many('res.group', 'ir_model_field_group_rel',
'field_id', 'group_id', 'Groups'),
- 'group_name': fields.char('Group Name', size=128),
- 'view_load': fields.boolean('View Auto-Load'),
+ 'group_name': fields.Char('Group Name', size=128),
+ 'view_load': fields.Boolean('View Auto-Load'),
'help': fields.Text('Help', translate=True),
}
_defaults = {
@@ -62,7 +61,7 @@ class ModelFields(OSV):
}
_order = "id"
-ModelFields()
+ModelField()
class ModelAccess(OSV):
diff --git a/trytond/ir/model.xml b/trytond/ir/model.xml
index 009f8165e8..2dd55b01cf 100644
--- a/trytond/ir/model.xml
+++ b/trytond/ir/model.xml
@@ -65,7 +65,7 @@
- ir.model.fields
+ ir.model.field
form
- ir.model.fields
+ ir.model.field
tree
Fields
- ir.model.fields
+ ir.model.field
form