在业务逻辑中需要根据用户添加的数据生成model,而不再是通过写在model文件夹下的py文件里了,也就是通过代码生成模型,模型字段。

模型:
  return_model = self.env['ir.model'].create({
                    'model': 'x_model',
                    'name': 'x_name',
                })

ir.model是存储模型的模型,所有的模型信息都存储在这里,创建一个ir.model就是创建了一个模型。
model:模型的英文名字,如:hr.employee 仅支持小写字母,数字下划线的组合,必须以 x_ 开头
model:模型的显示名字,如:员工 ,必须以 x_ 开头

字段:
self.env['ir.model.fields'].create({
                    'name': 'x_field_name',
                    'field_description': '字段描述',
                    'model_id': return_model .id,
                    'ttype': 'many2one',
                    'relation': model_id.model,
                    })

ir.model.fields是存储模型字段信息的模型
name :字段名,相当于x_field_name = fields.Many2one(‘关联表名’,u’字段描述’)中的x_field_name ,必须以 x_ 开头
field_description :字段的中文描述
model_id:此字段隶属于哪个模型,就把模型id放这里
ttype:字段类型,有下图中选择 ,当选择时关联模型时就需要relation字段把关联的模型的model写上。
在逻辑处理中添加model
更多的信息在打开开发者模式后 设置->数据库结构->字段中点开一个查看,需要对哪个赋值
在逻辑处理中添加model

如果在controller下url接口中处理逻辑创建模型及字段,则需要request.request.env[‘ir.model’].sudo().create({values})

相关文章:

  • 2021-12-21
  • 2022-02-21
  • 2021-10-11
  • 2022-12-23
  • 2021-10-09
  • 2022-12-23
猜你喜欢
  • 2021-12-18
  • 2021-11-08
  • 2022-12-23
  • 2021-06-26
  • 2021-07-17
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案