diff --git a/trytond/init.sql b/trytond/init.sql
index 71dc53a5e4..90df15b4ec 100644
--- a/trytond/init.sql
+++ b/trytond/init.sql
@@ -7,6 +7,7 @@ CREATE TABLE ir_model (
model varchar NOT NULL,
name varchar,
info text,
+ module varchar,
primary key(id)
);
diff --git a/trytond/ir/model.py b/trytond/ir/model.py
index 46ad9ab895..a23a695506 100644
--- a/trytond/ir/model.py
+++ b/trytond/ir/model.py
@@ -9,14 +9,20 @@ class Model(OSV):
"Model"
_name = 'ir.model'
_description = __doc__
- name = fields.Char('Model name', size=None, translate=True)
- model = fields.Char('Object name', size=None, required=True)
+ name = fields.Char('Model name', translate=True)
+ model = fields.Char('Object name', required=True)
info = fields.Text('Information')
+ module = fields.Char('Module',
+ help="Module in which this model is defined")
fields = fields.One2Many('ir.model.field', 'model', 'Fields',
required=True)
- def default_name(self, cursor, user, context=None):
- return 'No Name'
+ def __init__(self):
+ super(Model, self).__init__()
+ self._sql_constraints += [
+ ('name_uniq', 'UNIQUE(name)',
+ 'The name of model must be unique!'),
+ ]
Model()
@@ -24,19 +30,19 @@ class ModelField(OSV):
"Model field"
_name = 'ir.model.field'
_description = __doc__
- name = fields.Char('Name', size=None, required=True)
- relation = fields.Char('Model Relation', size=None)
+ name = fields.Char('Name', required=True)
+ relation = fields.Char('Model Relation')
model = fields.Many2One('ir.model', 'Model', required=True,
select=True, ondelete='cascade')
- field_description = fields.Char('Field Description', size=None,
+ field_description = fields.Char('Field Description',
translate=True)
- ttype = fields.Char('Field Type', size=None)
+ ttype = fields.Char('Field Type')
groups = fields.Many2Many('res.group', 'ir_model_field_group_rel',
'field_id', 'group_id', 'Groups')
- group_name = fields.Char('Group Name', size=None)
+ group_name = fields.Char('Group Name')
view_load = fields.Boolean('View Auto-Load')
help = fields.Text('Help', translate=True)
- module = fields.Char('Module', size=None,
+ module = fields.Char('Module',
help="Module in which this field is defined")
def __init__(self):
@@ -160,9 +166,9 @@ class ModelData(OSV):
_name = 'ir.model.data'
_description = __doc__
fs_id = fields.Char('Identifier on File System', required=True,
- size=None, help="The id of the record as known on the file system.")
- model = fields.Char('Model', required=True, size=None)
- module = fields.Char('Module', required=True, size=None)
+ help="The id of the record as known on the file system.")
+ model = fields.Char('Model', required=True)
+ module = fields.Char('Module', required=True)
db_id = fields.Integer('Resource ID',
help="The id of the record in the database.")
date_update = fields.DateTime('Update Date')
diff --git a/trytond/ir/model.xml b/trytond/ir/model.xml
index a7bd2616d9..0768ce24c9 100644
--- a/trytond/ir/model.xml
+++ b/trytond/ir/model.xml
@@ -7,14 +7,16 @@
form
+