from odoo import models, fields class MenuInherit(models.Model): _inherit = 'ir.ui.menu' is_phone = fields.Boolean("是否手机显示", default=True) def update_is_phone(self): menu_ids = self.env["ir.ui.menu"].browse( self._context.get('active_ids', self._context.get('active_id'))) for menu in menu_ids: menu.is_phone = False def load_web_menus(self, debug): web_menus = {} menus = self.search_read([], fields=['id', 'is_phone']) menus_dict = {m['id']: m for m in menus} old_menus = super().load_web_menus(debug) for menu in old_menus.values(): menu['is_phone'] = menus_dict[menu['id']]['is_phone'] if menu['id'] != 'root' else True web_menus[menu['id']] = menu return web_menus