По какой-то причине метод 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