Почему я не могу правильно передать токен в моих представлениях 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
)