Использование параметров, передаваемых вашим обработчикам - Odoo - PullRequest
0 голосов
/ 27 апреля 2020

Доброе утро, я работаю с http.Controllers в odoo v.12, я хочу передать идентификатор через URL, чтобы получить следующее:

http://localhost:8069/my_library/book_details/1

Код, который я использую:

from odoo import http

class Book(http.Controller):
    @http.route('/my_library/book_details/<model("library.book"):book>', type='http', auth='none')
    def book_details_in_path (self, book):
        print (book)

Однако я получаю следующее сообщение об ошибке:

psycopg2.ProgrammingError: can't adapt type 'RequestUID'

что я делаю не так?

Большое спасибо.

1 Ответ

1 голос
/ 27 апреля 2020

Если вы определяете тип метода аутентификации до none, код запроса не будет иметь никаких средств для доступа к базе данных и не будет иметь никакой конфигурации, указывающей текущую базу данных или текущего пользователя.

В определении маршрута вы вызвали model, который предоставляет записи напрямую, когда им присваивается идентификатор, а используемый метод аутентификации этого не позволяет.

Чтобы избежать этой проблемы, просто измените метод аутентификации.

...