Получить значение переменной из url

#odoo

#odoo

Вопрос:

Odoo 11.0

Есть ли способ получить переменную «model» из URL-адреса? Мне нужно, чтобы он знал, в каком модуле находится пользователь.

Например: localhost:8069/web#page=0amp;view_type=listamp;model=my.moduleamp;menu_id=167amp;action= 501

Есть идея? Заранее спасибо

Комментарии:

1. Вы можете попробовать self.model или self._context.get('active_model')

2. Вы смешиваете module и model здесь. Чего именно вы хотите достичь?

3. Извините, это модель. У меня есть модель транспортных средств, эта модель фильтруется на основе зарегистрированного пользователя, потому что он может видеть только те транспортные средства, которые связаны с ним. Транспортные средства связаны с пользователями в пользовательской форме в настройках, и там модель транспортного средства должна возвращать все транспортные средства. Мне нужно знать, находится ли пользователь в модели транспортного средства или пользовательской модели, чтобы применить фильтр или нет.

Ответ №1:

Попробуйте следующий код:

 const params = new URLSearchParams(window.location.search);

params.get('model'); 
 

Комментарии:

1. спасибо, но мне нужно сделать это на python в среде Odoo

Ответ №2:

 from openerp.http import Controller, route, request, Response

class YourControllerName(Controller):
    @route('/your_module/your_route', auth='public')
    def index(self, *args, **kw):
        if request.httprequest.method == 'GET' and request.session.uid and request.params.get('model'):
            return "Model: %s"%request.params.get('model')
        else:
            return "Hello, world"