odoo 后台开发(问题)

1. Views 视图

  1. button 按钮 属性

    type: 主要使用 action 和 object
    object: 指定name="模型函数"
    action: 指定name="%(record的id)d"
    context: 传入上下文参数,如设置context="{'active_id': id}"
    则可以在模型文件使用环境上下文获取传入的值
    active_id = self.env.context.get("active_id", 0)
  2. menuitem 菜单属性

    根菜单
    <menuitem id="root_menu"
    name="XX管理" />
    子菜单
    <menuitem id="xx_list_menu"
    name="XX设置"
    parent="root_menu"
    action="view_act" />

2. Models 模型

  1. 设置模型归档字段

    active = fields.Boolean(string="不归档", default=True)
  2. Many2one 在视图列表的展示 附加内容添加

    def name_get(self):
    result = []
    for record in self:
    # 后台访问
    if "active_id" in self.env.context:
    prefix = "--" * record.dept_level
    result.append((record.id, "%s%s 第%s等级" % (prefix, record.name, record.dept_level)))
    else:
    # api访问
    result.append((record.id, record.name))
    return result
  3. 上下文环境变量的使用

    @api.model
    def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
    # print("search_read:", self.env.context, domain, fields)
    active_id = self.env.context.get("active_id", 0)
    if active_id > 0:
    domain = [("post_id", "=", active_id)]
    if fields and "member_id" not in fields:
    fields.append("member_id")
    data = super().search_read(domain=domain,
    fields=fields,
    offset=offset,
    limit=limit,
    order=order)
    return data
posted @   gz_xiaohai  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示