class Action(http.Controller): @http.route('/web/action/load', type='json', auth="user") def load(self, action_id, additional_context=None): Actions = request.env['ir.actions.actions'] value = False print('Load----无id', action_id) try: action_id = int(action_id) except ValueError: try: action = request.env.ref(action_id) assert action._name.startswith('ir.actions.') action_id = action.id except Exception: action_id = 0 # force failed read base_action = Actions.browse([action_id]).sudo().read(['type']) print('action::--',base_action) if base_action: ctx = dict(request.context) print('ctx--',ctx) print('base_action',base_action) action_type = base_action[0]['type'] if action_type == 'ir.actions.report': ctx.update({'bin_size': True}) if additional_context: ctx.update(additional_context) request.context = ctx print('action_type',action_type) print(request.context) action = request.env[action_type].sudo().browse([action_id]).read() print('查询action',action) if action: value = clean_action(action[0], env=request.env) print('value',value) return value @http.route('/web/action/run', type='json', auth="user") def run(self, action_id): action = request.env['ir.actions.server'].browse([action_id]) result = action.run() return clean_action(result, env=action.env) if result else False
2022-01-05 03:09:06,338 5448 INFO od001 werkzeug: 127.0.0.1 - - [05/Jan/2022 03:09:06] "POST /longpolling/im_status HTTP/1.1" 200 - 19 0.014 0.170
2022-01-05 03:09:08,360 5448 INFO od001 werkzeug: 127.0.0.1 - - [05/Jan/2022 03:09:08] "GET /web HTTP/1.1" 200 - 425 0.196 0.910
Load----无id 179
action::-- [{'id': 179, 'type': 'ir.actions.act_window'}]
ctx-- {'lang': 'zh_CN', 'tz': 'Asia/Shanghai', 'uid': 2}
base_action [{'id': 179, 'type': 'ir.actions.act_window'}]
action_type ir.actions.act_window
{'lang': 'zh_CN', 'tz': 'Asia/Shanghai', 'uid': 2}
查询action [{'id': 179, 'name': '项目', 'type': 'ir.actions.act_window', 'xml_id': 'project.open_view_project_all', 'help': Markup('<p class="o_view_nocontent_smiling_face">\n 还没有项目。 让我们创建一个!\n </p><p>\n Projects regroup tasks on the same topic, and each has its dashboard.\n </p>\n '), 'binding_model_id': False, 'binding_type': 'action', 'binding_view_types': 'list,form', '__last_update': datetime.datetime(2022, 1, 5, 0, 15, 10, 724200), 'display_name': '项目', 'create_uid': (1, 'OdooBot'), 'create_date': datetime.datetime(2021, 12, 29, 14, 16, 54, 718800), 'write_uid': (1, 'OdooBot'), 'write_date': datetime.datetime(2022, 1, 5, 0, 15, 10, 724200), 'view_id': (507, 'project.project.kanban'), 'domain': "[('is_internal_project', '=', False)]", 'context': '{}', 'res_id': 0, 'res_model': 'project.project', 'target': 'main', 'view_mode': 'tree,kanban,timeline,form', 'usage': False, 'view_ids': [167, 168], 'views': [(507, 'kanban'), (503, 'tree'), (False, 'timeline'), (False, 'form')], 'limit': 80, 'groups_id': [], 'search_view_id': (502, 'project.project.select'), 'filter': False, 'search_view': '{\'model\': \'project.project\', \'field_parent\': False, \'arch\': \'<search string="搜索项目">\\n <field name="name" string="项目" modifiers="{"required": true}"/>\\n <field name="user_id" string="项目管理员" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="partner_id" string="客户" filter_domain="[(\\\'partner_id\\\', \\\'child_of\\\', self)]" on_change="1" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="sale_order_id" can_create="true" can_write="true" modifiers="{"readonly": true}"/>\\n \\n <field name="analytic_account_id" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="tag_ids" can_create="true" can_write="true" modifiers="{}"/>\\n <filter string="我的收藏夹" name="my_projects" domain="[(\\\'favorite_user_ids\\\', \\\'in\\\', uid)]"/>\\n <separator/>\\n <filter string="关注" name="followed_by_me" domain="[(\\\'message_is_follower\\\', \\\'=\\\', True)]"/>\\n <filter string="我的项目" name="own_projects" domain="[(\\\'user_id\\\', \\\'=\\\', uid)]"/>\\n <separator/>\\n <filter string="打开" name="open" domain="[(\\\'stage_id.fold\\\', \\\'=\\\', False)]"/>\\n <separator/>\\n <filter string="已归档" name="inactive" domain="[(\\\'active\\\', \\\'=\\\', False)]"/>\\n <group expand="0" string="分组">\\n <filter string="项目管理员" name="Manager" context="{\\\'group_by\\\': \\\'user_id\\\'}"/>\\n <filter string="客户" name="Partner" context="{\\\'group_by\\\': \\\'partner_id\\\'}"/>\\n <filter string="状态" name="status" context="{\\\'group_by\\\': \\\'last_update_status\\\'}"/>\\n <filter string="阶段" name="groupby_stage" context="{\\\'group_by\\\': \\\'stage_id\\\'}" invisible="1" modifiers="{"invisible": true}"/>\\n </group>\\n </search>\', \'name\': \'project.project.select\', \'type\': \'search\', \'view_id\': 502, \'base_model\': \'project.project\', \'fields\': {\'name\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'char\', \'change_default\': False, \'company_dependent\': False, \'depends\': (), \'manual\': False, \'readonly\': False, \'required\': True, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'名称\', \'translate\': True, \'trim\': True, \'name\': \'name\'}, \'user_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': [], \'manual\': False, \'readonly\': False, \'relation\': \'res.users\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'项目管理员\', \'name\': \'user_id\'}, \'partner_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (\'sale_line_employee_ids.sale_line_id\', \'sale_line_id\'), \'domain\': "[\'|\', (\'company_id\', \'=\', False), (\'company_id\', \'=\', company_id)]", \'manual\': False, \'readonly\': False, \'relation\': \'res.partner\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'客户\', \'name\': \'partner_id\'}, \'sale_order_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (\'sale_line_id.order_id\',), \'domain\': [], \'help\': \'项目关联单销售订单。\', \'manual\': False, \'readonly\': True, \'related\': \'sale_line_id.order_id\', \'relation\': \'sale.order\', \'required\': False, \'searchable\': True, \'sortable\': False, \'store\': False, \'string\': \'销售订单\', \'name\': \'sale_order_id\'}, \'analytic_account_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': "[\\n \'|\', (\'company_id\', \'=\', False), (\'company_id\', \'=\', company_id),\\n (\'partner_id\', \'=?\', partner_id),\\n ]", \'help\': \'与该项目关联的分析帐户,用于财务管理。 使用分析帐户记录项目的成本和收入。\', \'manual\': False, \'readonly\': False, \'relation\': \'account.analytic.account\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'分析账户\', \'name\': \'analytic_account_id\'}, \'tag_ids\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2many\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': [], \'manual\': False, \'readonly\': False, \'relation\': \'project.tags\', \'required\': False, \'searchable\': True, \'sortable\': False, \'store\': True, \'string\': \'标签\', \'name\': \'tag_ids\'}}}'}]
传来参数action-- {'id': 179, 'name': '项目', 'type': 'ir.actions.act_window', 'xml_id': 'project.open_view_project_all', 'help': Markup('<p class="o_view_nocontent_smiling_face">\n 还没有项目。 让我们创建一个!\n </p><p>\n Projects regroup tasks on the same topic, and each has its dashboard.\n </p>\n '), 'binding_model_id': False, 'binding_type': 'action', 'binding_view_types': 'list,form', '__last_update': datetime.datetime(2022, 1, 5, 0, 15, 10, 724200), 'display_name': '项目', 'create_uid': (1, 'OdooBot'), 'create_date': datetime.datetime(2021, 12, 29, 14, 16, 54, 718800), 'write_uid': (1, 'OdooBot'), 'write_date': datetime.datetime(2022, 1, 5, 0, 15, 10, 724200), 'view_id': (507, 'project.project.kanban'), 'domain': "[('is_internal_project', '=', False)]", 'context': '{}', 'res_id': 0, 'res_model': 'project.project', 'target': 'main', 'view_mode': 'tree,kanban,timeline,form', 'usage': False, 'view_ids': [167, 168], 'views': [(507, 'kanban'), (503, 'tree'), (False, 'timeline'), (False, 'form')], 'limit': 80, 'groups_id': [], 'search_view_id': (502, 'project.project.select'), 'filter': False, 'search_view': '{\'model\': \'project.project\', \'field_parent\': False, \'arch\': \'<search string="搜索项目">\\n <field name="name" string="项目" modifiers="{"required": true}"/>\\n <field name="user_id" string="项目管理员" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="partner_id" string="客户" filter_domain="[(\\\'partner_id\\\', \\\'child_of\\\', self)]" on_change="1" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="sale_order_id" can_create="true" can_write="true" modifiers="{"readonly": true}"/>\\n \\n <field name="analytic_account_id" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="tag_ids" can_create="true" can_write="true" modifiers="{}"/>\\n <filter string="我的收藏夹" name="my_projects" domain="[(\\\'favorite_user_ids\\\', \\\'in\\\', uid)]"/>\\n <separator/>\\n <filter string="关注" name="followed_by_me" domain="[(\\\'message_is_follower\\\', \\\'=\\\', True)]"/>\\n <filter string="我的项目" name="own_projects" domain="[(\\\'user_id\\\', \\\'=\\\', uid)]"/>\\n <separator/>\\n <filter string="打开" name="open" domain="[(\\\'stage_id.fold\\\', \\\'=\\\', False)]"/>\\n <separator/>\\n <filter string="已归档" name="inactive" domain="[(\\\'active\\\', \\\'=\\\', False)]"/>\\n <group expand="0" string="分组">\\n <filter string="项目管理员" name="Manager" context="{\\\'group_by\\\': \\\'user_id\\\'}"/>\\n <filter string="客户" name="Partner" context="{\\\'group_by\\\': \\\'partner_id\\\'}"/>\\n <filter string="状态" name="status" context="{\\\'group_by\\\': \\\'last_update_status\\\'}"/>\\n <filter string="阶段" name="groupby_stage" context="{\\\'group_by\\\': \\\'stage_id\\\'}" invisible="1" modifiers="{"invisible": true}"/>\\n </group>\\n </search>\', \'name\': \'project.project.select\', \'type\': \'search\', \'view_id\': 502, \'base_model\': \'project.project\', \'fields\': {\'name\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'char\', \'change_default\': False, \'company_dependent\': False, \'depends\': (), \'manual\': False, \'readonly\': False, \'required\': True, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'名称\', \'translate\': True, \'trim\': True, \'name\': \'name\'}, \'user_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': [], \'manual\': False, \'readonly\': False, \'relation\': \'res.users\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'项目管理员\', \'name\': \'user_id\'}, \'partner_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (\'sale_line_employee_ids.sale_line_id\', \'sale_line_id\'), \'domain\': "[\'|\', (\'company_id\', \'=\', False), (\'company_id\', \'=\', company_id)]", \'manual\': False, \'readonly\': False, \'relation\': \'res.partner\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'客户\', \'name\': \'partner_id\'}, \'sale_order_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (\'sale_line_id.order_id\',), \'domain\': [], \'help\': \'项目关联单销售订单。\', \'manual\': False, \'readonly\': True, \'related\': \'sale_line_id.order_id\', \'relation\': \'sale.order\', \'required\': False, \'searchable\': True, \'sortable\': False, \'store\': False, \'string\': \'销售订单\', \'name\': \'sale_order_id\'}, \'analytic_account_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': "[\\n \'|\', (\'company_id\', \'=\', False), (\'company_id\', \'=\', company_id),\\n (\'partner_id\', \'=?\', partner_id),\\n ]", \'help\': \'与该项目关联的分析帐户,用于财务管理。 使用分析帐户记录项目的成本和收入。\', \'manual\': False, \'readonly\': False, \'relation\': \'account.analytic.account\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'分析账户\', \'name\': \'analytic_account_id\'}, \'tag_ids\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2many\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': [], \'manual\': False, \'readonly\': False, \'relation\': \'project.tags\', \'required\': False, \'searchable\': True, \'sortable\': False, \'store\': True, \'string\': \'标签\', \'name\': \'tag_ids\'}}}'}
变后action {'id': 179, 'name': '项目', 'type': 'ir.actions.act_window', 'xml_id': 'project.open_view_project_all', 'help': Markup('<p class="o_view_nocontent_smiling_face">\n 还没有项目。 让我们创建一个!\n </p><p>\n Projects regroup tasks on the same topic, and each has its dashboard.\n </p>\n '), 'binding_model_id': False, 'binding_type': 'action', 'binding_view_types': 'list,form', '__last_update': datetime.datetime(2022, 1, 5, 0, 15, 10, 724200), 'display_name': '项目', 'create_uid': (1, 'OdooBot'), 'create_date': datetime.datetime(2021, 12, 29, 14, 16, 54, 718800), 'write_uid': (1, 'OdooBot'), 'write_date': datetime.datetime(2022, 1, 5, 0, 15, 10, 724200), 'view_id': (507, 'project.project.kanban'), 'domain': "[('is_internal_project', '=', False)]", 'context': '{}', 'res_id': 0, 'res_model': 'project.project', 'target': 'main', 'view_mode': 'list,kanban,timeline,form', 'usage': False, 'view_ids': [167, 168], 'views': [[507, 'kanban'], [503, 'list'], [False, 'timeline'], [False, 'form']], 'limit': 80, 'groups_id': [], 'search_view_id': (502, 'project.project.select'), 'filter': False, 'search_view': '{\'model\': \'project.project\', \'field_parent\': False, \'arch\': \'<search string="搜索项目">\\n <field name="name" string="项目" modifiers="{"required": true}"/>\\n <field name="user_id" string="项目管理员" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="partner_id" string="客户" filter_domain="[(\\\'partner_id\\\', \\\'child_of\\\', self)]" on_change="1" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="sale_order_id" can_create="true" can_write="true" modifiers="{"readonly": true}"/>\\n \\n <field name="analytic_account_id" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="tag_ids" can_create="true" can_write="true" modifiers="{}"/>\\n <filter string="我的收藏夹" name="my_projects" domain="[(\\\'favorite_user_ids\\\', \\\'in\\\', uid)]"/>\\n <separator/>\\n <filter string="关注" name="followed_by_me" domain="[(\\\'message_is_follower\\\', \\\'=\\\', True)]"/>\\n <filter string="我的项目" name="own_projects" domain="[(\\\'user_id\\\', \\\'=\\\', uid)]"/>\\n <separator/>\\n <filter string="打开" name="open" domain="[(\\\'stage_id.fold\\\', \\\'=\\\', False)]"/>\\n <separator/>\\n <filter string="已归档" name="inactive" domain="[(\\\'active\\\', \\\'=\\\', False)]"/>\\n <group expand="0" string="分组">\\n <filter string="项目管理员" name="Manager" context="{\\\'group_by\\\': \\\'user_id\\\'}"/>\\n <filter string="客户" name="Partner" context="{\\\'group_by\\\': \\\'partner_id\\\'}"/>\\n <filter string="状态" name="status" context="{\\\'group_by\\\': \\\'last_update_status\\\'}"/>\\n <filter string="阶段" name="groupby_stage" context="{\\\'group_by\\\': \\\'stage_id\\\'}" invisible="1" modifiers="{"invisible": true}"/>\\n </group>\\n </search>\', \'name\': \'project.project.select\', \'type\': \'search\', \'view_id\': 502, \'base_model\': \'project.project\', \'fields\': {\'name\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'char\', \'change_default\': False, \'company_dependent\': False, \'depends\': (), \'manual\': False, \'readonly\': False, \'required\': True, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'名称\', \'translate\': True, \'trim\': True, \'name\': \'name\'}, \'user_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': [], \'manual\': False, \'readonly\': False, \'relation\': \'res.users\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'项目管理员\', \'name\': \'user_id\'}, \'partner_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (\'sale_line_employee_ids.sale_line_id\', \'sale_line_id\'), \'domain\': "[\'|\', (\'company_id\', \'=\', False), (\'company_id\', \'=\', company_id)]", \'manual\': False, \'readonly\': False, \'relation\': \'res.partner\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'客户\', \'name\': \'partner_id\'}, \'sale_order_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (\'sale_line_id.order_id\',), \'domain\': [], \'help\': \'项目关联单销售订单。\', \'manual\': False, \'readonly\': True, \'related\': \'sale_line_id.order_id\', \'relation\': \'sale.order\', \'required\': False, \'searchable\': True, \'sortable\': False, \'store\': False, \'string\': \'销售订单\', \'name\': \'sale_order_id\'}, \'analytic_account_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': "[\\n \'|\', (\'company_id\', \'=\', False), (\'company_id\', \'=\', company_id),\\n (\'partner_id\', \'=?\', partner_id),\\n ]", \'help\': \'与该项目关联的分析帐户,用于财务管理。 使用分析帐户记录项目的成本和收入。\', \'manual\': False, \'readonly\': False, \'relation\': \'account.analytic.account\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'分析账户\', \'name\': \'analytic_account_id\'}, \'tag_ids\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2many\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': [], \'manual\': False, \'readonly\': False, \'relation\': \'project.tags\', \'required\': False, \'searchable\': True, \'sortable\': False, \'store\': True, \'string\': \'标签\', \'name\': \'tag_ids\'}}}'}
clean_action----- {'id': 179, 'name': '项目', 'type': 'ir.actions.act_window', 'xml_id': 'project.open_view_project_all', 'help': Markup('<p class="o_view_nocontent_smiling_face">\n 还没有项目。 让我们创建一个!\n </p><p>\n Projects regroup tasks on the same topic, and each has its dashboard.\n </p>\n '), 'binding_model_id': False, 'binding_type': 'action', 'binding_view_types': 'list,form', '__last_update': datetime.datetime(2022, 1, 5, 0, 15, 10, 724200), 'display_name': '项目', 'create_uid': (1, 'OdooBot'), 'create_date': datetime.datetime(2021, 12, 29, 14, 16, 54, 718800), 'write_uid': (1, 'OdooBot'), 'write_date': datetime.datetime(2022, 1, 5, 0, 15, 10, 724200), 'view_id': (507, 'project.project.kanban'), 'domain': "[('is_internal_project', '=', False)]", 'context': '{}', 'res_id': 0, 'res_model': 'project.project', 'target': 'main', 'view_mode': 'list,kanban,timeline,form', 'usage': False, 'view_ids': [167, 168], 'views': [[507, 'kanban'], [503, 'list'], [False, 'timeline'], [False, 'form']], 'limit': 80, 'groups_id': [], 'search_view_id': (502, 'project.project.select'), 'filter': False, 'search_view': '{\'model\': \'project.project\', \'field_parent\': False, \'arch\': \'<search string="搜索项目">\\n <field name="name" string="项目" modifiers="{"required": true}"/>\\n <field name="user_id" string="项目管理员" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="partner_id" string="客户" filter_domain="[(\\\'partner_id\\\', \\\'child_of\\\', self)]" on_change="1" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="sale_order_id" can_create="true" can_write="true" modifiers="{"readonly": true}"/>\\n \\n <field name="analytic_account_id" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="tag_ids" can_create="true" can_write="true" modifiers="{}"/>\\n <filter string="我的收藏夹" name="my_projects" domain="[(\\\'favorite_user_ids\\\', \\\'in\\\', uid)]"/>\\n <separator/>\\n <filter string="关注" name="followed_by_me" domain="[(\\\'message_is_follower\\\', \\\'=\\\', True)]"/>\\n <filter string="我的项目" name="own_projects" domain="[(\\\'user_id\\\', \\\'=\\\', uid)]"/>\\n <separator/>\\n <filter string="打开" name="open" domain="[(\\\'stage_id.fold\\\', \\\'=\\\', False)]"/>\\n <separator/>\\n <filter string="已归档" name="inactive" domain="[(\\\'active\\\', \\\'=\\\', False)]"/>\\n <group expand="0" string="分组">\\n <filter string="项目管理员" name="Manager" context="{\\\'group_by\\\': \\\'user_id\\\'}"/>\\n <filter string="客户" name="Partner" context="{\\\'group_by\\\': \\\'partner_id\\\'}"/>\\n <filter string="状态" name="status" context="{\\\'group_by\\\': \\\'last_update_status\\\'}"/>\\n <filter string="阶段" name="groupby_stage" context="{\\\'group_by\\\': \\\'stage_id\\\'}" invisible="1" modifiers="{"invisible": true}"/>\\n </group>\\n </search>\', \'name\': \'project.project.select\', \'type\': \'search\', \'view_id\': 502, \'base_model\': \'project.project\', \'fields\': {\'name\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'char\', \'change_default\': False, \'company_dependent\': False, \'depends\': (), \'manual\': False, \'readonly\': False, \'required\': True, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'名称\', \'translate\': True, \'trim\': True, \'name\': \'name\'}, \'user_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': [], \'manual\': False, \'readonly\': False, \'relation\': \'res.users\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'项目管理员\', \'name\': \'user_id\'}, \'partner_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (\'sale_line_employee_ids.sale_line_id\', \'sale_line_id\'), \'domain\': "[\'|\', (\'company_id\', \'=\', False), (\'company_id\', \'=\', company_id)]", \'manual\': False, \'readonly\': False, \'relation\': \'res.partner\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'客户\', \'name\': \'partner_id\'}, \'sale_order_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (\'sale_line_id.order_id\',), \'domain\': [], \'help\': \'项目关联单销售订单。\', \'manual\': False, \'readonly\': True, \'related\': \'sale_line_id.order_id\', \'relation\': \'sale.order\', \'required\': False, \'searchable\': True, \'sortable\': False, \'store\': False, \'string\': \'销售订单\', \'name\': \'sale_order_id\'}, \'analytic_account_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': "[\\n \'|\', (\'company_id\', \'=\', False), (\'company_id\', \'=\', company_id),\\n (\'partner_id\', \'=?\', partner_id),\\n ]", \'help\': \'与该项目关联的分析帐户,用于财务管理。 使用分析帐户记录项目的成本和收入。\', \'manual\': False, \'readonly\': False, \'relation\': \'account.analytic.account\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'分析账户\', \'name\': \'analytic_account_id\'}, \'tag_ids\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2many\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': [], \'manual\': False, \'readonly\': False, \'relation\': \'project.tags\', \'required\': False, \'searchable\': True, \'sortable\': False, \'store\': True, \'string\': \'标签\', \'name\': \'tag_ids\'}}}'}
value {'id': 179, 'name': '项目', 'type': 'ir.actions.act_window', 'xml_id': 'project.open_view_project_all', 'help': Markup('<p class="o_view_nocontent_smiling_face">\n 还没有项目。 让我们创建一个!\n </p><p>\n Projects regroup tasks on the same topic, and each has its dashboard.\n </p>\n '), 'binding_model_id': False, 'binding_type': 'action', 'binding_view_types': 'list,form', 'display_name': '项目', 'view_id': (507, 'project.project.kanban'), 'domain': "[('is_internal_project', '=', False)]", 'context': '{}', 'res_id': 0, 'res_model': 'project.project', 'target': 'main', 'view_mode': 'list,kanban,timeline,form', 'views': [[507, 'kanban'], [503, 'list'], [False, 'timeline'], [False, 'form']], 'limit': 80, 'groups_id': [], 'search_view_id': (502, 'project.project.select'), 'filter': False, 'search_view': '{\'model\': \'project.project\', \'field_parent\': False, \'arch\': \'<search string="搜索项目">\\n <field name="name" string="项目" modifiers="{"required": true}"/>\\n <field name="user_id" string="项目管理员" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="partner_id" string="客户" filter_domain="[(\\\'partner_id\\\', \\\'child_of\\\', self)]" on_change="1" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="sale_order_id" can_create="true" can_write="true" modifiers="{"readonly": true}"/>\\n \\n <field name="analytic_account_id" can_create="true" can_write="true" modifiers="{}"/>\\n <field name="tag_ids" can_create="true" can_write="true" modifiers="{}"/>\\n <filter string="我的收藏夹" name="my_projects" domain="[(\\\'favorite_user_ids\\\', \\\'in\\\', uid)]"/>\\n <separator/>\\n <filter string="关注" name="followed_by_me" domain="[(\\\'message_is_follower\\\', \\\'=\\\', True)]"/>\\n <filter string="我的项目" name="own_projects" domain="[(\\\'user_id\\\', \\\'=\\\', uid)]"/>\\n <separator/>\\n <filter string="打开" name="open" domain="[(\\\'stage_id.fold\\\', \\\'=\\\', False)]"/>\\n <separator/>\\n <filter string="已归档" name="inactive" domain="[(\\\'active\\\', \\\'=\\\', False)]"/>\\n <group expand="0" string="分组">\\n <filter string="项目管理员" name="Manager" context="{\\\'group_by\\\': \\\'user_id\\\'}"/>\\n <filter string="客户" name="Partner" context="{\\\'group_by\\\': \\\'partner_id\\\'}"/>\\n <filter string="状态" name="status" context="{\\\'group_by\\\': \\\'last_update_status\\\'}"/>\\n <filter string="阶段" name="groupby_stage" context="{\\\'group_by\\\': \\\'stage_id\\\'}" invisible="1" modifiers="{"invisible": true}"/>\\n </group>\\n </search>\', \'name\': \'project.project.select\', \'type\': \'search\', \'view_id\': 502, \'base_model\': \'project.project\', \'fields\': {\'name\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'char\', \'change_default\': False, \'company_dependent\': False, \'depends\': (), \'manual\': False, \'readonly\': False, \'required\': True, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'名称\', \'translate\': True, \'trim\': True, \'name\': \'name\'}, \'user_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': [], \'manual\': False, \'readonly\': False, \'relation\': \'res.users\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'项目管理员\', \'name\': \'user_id\'}, \'partner_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (\'sale_line_employee_ids.sale_line_id\', \'sale_line_id\'), \'domain\': "[\'|\', (\'company_id\', \'=\', False), (\'company_id\', \'=\', company_id)]", \'manual\': False, \'readonly\': False, \'relation\': \'res.partner\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'客户\', \'name\': \'partner_id\'}, \'sale_order_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (\'sale_line_id.order_id\',), \'domain\': [], \'help\': \'项目关联单销售订单。\', \'manual\': False, \'readonly\': True, \'related\': \'sale_line_id.order_id\', \'relation\': \'sale.order\', \'required\': False, \'searchable\': True, \'sortable\': False, \'store\': False, \'string\': \'销售订单\', \'name\': \'sale_order_id\'}, \'analytic_account_id\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2one\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': "[\\n \'|\', (\'company_id\', \'=\', False), (\'company_id\', \'=\', company_id),\\n (\'partner_id\', \'=?\', partner_id),\\n ]", \'help\': \'与该项目关联的分析帐户,用于财务管理。 使用分析帐户记录项目的成本和收入。\', \'manual\': False, \'readonly\': False, \'relation\': \'account.analytic.account\', \'required\': False, \'searchable\': True, \'sortable\': True, \'store\': True, \'string\': \'分析账户\', \'name\': \'analytic_account_id\'}, \'tag_ids\': {\'id\': None, \'select\': None, \'views\': {}, \'type\': \'many2many\', \'change_default\': False, \'company_dependent\': False, \'context\': {}, \'depends\': (), \'domain\': [], \'manual\': False, \'readonly\': False, \'relation\': \'project.tags\', \'required\': False, \'searchable\': True, \'sortable\': False, \'store\': True, \'string\': \'标签\', \'name\': \'tag_ids\'}}}'}
2022-01-05 03:09:09,338 5448 INFO od001 werkzeug: 127.0.0.1 - - [05/Jan/2022 03:09:09] "POST /web/action/load HTTP/1.1" 200 - 62 0.036 0.291
2022-01-05 03:09:09,553 5448 INFO od001 werkzeug: 127.0.0.1 - - [05/Jan/2022 03:09:09] "POST /mail/init_messaging HTTP/1.1" 200 - 49 0.045 0.157