在逻辑处理中添加model

在业务逻辑中需要根据用户添加的数据生成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写上。
在这里插入图片描述
更多的信息在打开开发者模式后 设置->数据库结构->字段中点开一个查看,需要对哪个赋值
在这里插入图片描述

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值