odoo 后台开发(问题)
1. Views 视图
-
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) -
menuitem 菜单属性
根菜单 <menuitem id="root_menu" name="XX管理" /> 子菜单 <menuitem id="xx_list_menu" name="XX设置" parent="root_menu" action="view_act" />
2. Models 模型
-
设置模型归档字段
active = fields.Boolean(string="不归档", default=True) -
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 -
上下文环境变量的使用
@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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示