ir.model.fields
提供有关Odoo模型的字段的信息,并允许在不使用Python代码的情况下添加自定义字段。
model_id
字段所属的ir.model的Many2one
name
字段的技术名称(用于读写)
field_description
字段的用户可读标签(例如fields_get中的字符串)
ttype
要创建的字段类型
state
该字段是通过Python代码(基本)还是通过ir.model.fields(手动)创建的
required, readonly, translate
启用字段上的相应标志
groups
字段级访问控制,一个Many2many到res.groups
selection, size, on_delete, relation, relation_field, domain
类型特定的属性和自定义项
注意:
与自定义模型一样,只有使用state=“manual”创建的新字段才会被激活为模型上的实际字段。
计算字段不能通过ir.model.fields添加,某些字段元信息(默认值,onchange)也不能设置。
id = models.execute_kw(db, uid, password, 'ir.model', 'create', [{
'name': "Custom Model",
'model': "x_custom",
'state': 'manual',
}])
models.execute_kw(db, uid, password, 'ir.model.fields', 'create', [{
'model_id': id,
'name': 'x_name',
'ttype': 'char',
'state': 'manual',
'required': True,
}])
record_id = models.execute_kw(db, uid, password, 'x_custom', 'create', [{'x_name': "test record"}])
models.execute_kw(db, uid, password, 'x_custom', 'read', [[record_id]])
返回:
[
{
"create_uid": [1, "Administrator"],
"x_name": "test record",
"__last_update": "2014-11-12 16:32:13",
"write_uid": [1, "Administrator"],
"write_date": "2014-11-12 16:32:13",
"create_date": "2014-11-12 16:32:13",
"id": 1,
"display_name": "test record"
}
]