2015-01-25 2 views
0

Что я делаю неправильно ниже? В ClassA у меня есть доступ к request.DATA я передать это в базовый класс, но получаю ошибку:Python Super не работает в примере, показанном почему?

AttributeError: 'Base' object has no attribute 'DATA'

Но это должно иметь доступ, как я прохожу в запросе, так почему это не работает?

class Base(object): 
    def post(self, request, *args, **kwargs): 
     print("=========After==============") 
     print(request.DATA) 



class ClassA(Base): 
    def post(self, request, *args, **kwargs): 

     print("=========Before=============") 
     print(request.DATA) 

     super(ClassA, self).post(self, request, *args, **kwargs) 

ответ

2

Вы передаете self дважды в супервызове. Вызов post является стандартным вызовом метода, поэтому self всегда включается автоматически. Это должно быть:

super(ClassA, self).post(request, *args, **kwargs) 
+0

Момент глупости! Спасибо. – Prometheus

Смежные вопросы