[FIX] fixes #5616: use informations from self_fields to populate the ir.model.fields
Fields declared with the new API are converted to column only if they are storable. Use the informations from the field definitions to fill the ir.model.fields table since columns only contains stored field
This commit is contained in:
parent
872a80c419
commit
6915ded51b
|
@ -400,21 +400,21 @@ class BaseModel(object):
|
||||||
ir_model_fields_obj = self.pool.get('ir.model.fields')
|
ir_model_fields_obj = self.pool.get('ir.model.fields')
|
||||||
|
|
||||||
# sparse field should be created at the end, as it depends on its serialized field already existing
|
# sparse field should be created at the end, as it depends on its serialized field already existing
|
||||||
model_fields = sorted(self._columns.items(), key=lambda x: 1 if x[1]._type == 'sparse' else 0)
|
model_fields = sorted(self._fields.items(), key=lambda x: 1 if x[1].type == 'sparse' else 0)
|
||||||
for (k, f) in model_fields:
|
for (k, f) in model_fields:
|
||||||
vals = {
|
vals = {
|
||||||
'model_id': model_id,
|
'model_id': model_id,
|
||||||
'model': self._name,
|
'model': self._name,
|
||||||
'name': k,
|
'name': k,
|
||||||
'field_description': f.string,
|
'field_description': f.string,
|
||||||
'ttype': f._type,
|
'ttype': f.type,
|
||||||
'relation': f._obj or '',
|
'relation': f.comodel_name or '',
|
||||||
'select_level': tools.ustr(int(f.select)),
|
'select_level': tools.ustr(int(f.index)),
|
||||||
'readonly': (f.readonly and 1) or 0,
|
'readonly': (f.readonly and 1) or 0,
|
||||||
'required': (f.required and 1) or 0,
|
'required': (f.required and 1) or 0,
|
||||||
'selectable': (f.selectable and 1) or 0,
|
'selectable': (f.search or f.store and 1) or 0,
|
||||||
'translate': (f.translate and 1) or 0,
|
'translate': (f.translate if hasattr(f,'translate') else False and 1) or 0,
|
||||||
'relation_field': f._fields_id if isinstance(f, fields.one2many) else '',
|
'relation_field': f.inverse_name if hasattr(f, 'inverse_name') else '',
|
||||||
'serialization_field_id': None,
|
'serialization_field_id': None,
|
||||||
}
|
}
|
||||||
if getattr(f, 'serialization_field', None):
|
if getattr(f, 'serialization_field', None):
|
||||||
|
|
Loading…
Reference in New Issue