Почему я не могу правильно передать токен в моих представлениях Djano?

У меня есть следующий код

ProxyAPI API вызывает несколько POST api внутри списка post_api_views. API также должен получить некоторый токен из DB и передать его этим POST-методам.

  • Для получения токена из БД ProxyAPI вызывает метод под названием get_queryset().

    • Данные извлекаются правильно.

    • abc - один из тех множественных методов, как показано выше.

    • abc вызывает get() из класса Info

      .
    • get() вызывает get_info(), который является источником данных, и даже если proxyAPI передает токен в POST-метод класса abc, то токен должен быть передан в create_client() в методе get_info() метода.

    • Но когда я пытаюсь передать токен этим методам в списке post_api_views, я получаю следующую ошибку

    {"error": "Anddd error occurred while calling API 1: View.init() takes 1 positional argument but 2 were given"}

Пожалуйста, подскажите, почему я получаю эту ошибку. Я уже исцарапал все волосы за последние 10 часов безрезультатно.

Сообщение об ошибке указывает на то, что метод init() класса View ожидает только один позиционный аргумент, а передается два.

Вы могли бы модифицировать метод init(), чтобы он принимал два позиционных аргумента:

def __init__(self, data, token, *args, **kwargs):

    super().__init__(*args, **kwargs)

    self.org = None

    self.ent = None

    self.linkde = None

    self.data = data

    self.token = token

 

В противном случае вы можете изменить код, чтобы передать методу init() только один аргумент.

View.init(self, request.data)

Или передайте его в качестве аргумента ключевого слова

View.init(self, request.data, token=token)

Вернуться на верх