По какой-то причине метод super()
не всегда ведет себя так, как ожидалось, предпочитая возвращать:
TypeError('super(type, obj): obj must be an instance or subtype of type)'
Я понимаю, что означает ошибка. Я не понимаю, почему это происходит как ошибка. Вот фрагмент кода, который ломается. Все объекты в системе - это новые объекты стиля.
Что действительно интересно, так это то, что эта ошибка не всегда появляется. Я не знаю, что вызывает это. Метод super()
в Retrieval
передает класс Retrieval
, а затем сам по себе как объект, который, насколько мне известно, точно соответствует super()
.
Любые мысли вообще?
В файле DBConnection.py:
class DBAdminConnection(object):
def __init__(self):
self.user = DBUserConnection().user
self.submissions = DBSubmissionConnection()
В файле Retrieval.py
class Retrieval(DBConnection.DBAdminConnection):
def __init__(self, username=None, password=None, unique_key=None):
super(Retrieval,self).__init__()
if username and password:
self.username = username
self.user.login(username,password, config.DATABASE)
if self.user.error:
raise UserLoginError(username)
self.unique_key = unique_key