Basic Django - Таможенные менеджеры - PullRequest
1 голос
/ 20 февраля 2010

Я изучаю книгу Django , и сейчас я нахожусь на главе 10 . У меня проблемы с пониманием третьей строки в этом фрагменте кода:

class DahlBookManager(models.Manager):
    def get_query_set(self):
        return super(DahlBookManager, self).get_query_set().filter(author='Roald Dahl')

Я понимаю, что этот экземпляр пользовательского менеджера переопределяет метод get_query_set суперкласса, но почему вызов super передается как в DahlBookManager, так и в self? Разве self и DahlBookManager не одно и то же?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2010

Это о встроенной функции Super () в Python.

Вы можете получить ссылку здесь: http://docs.python.org/library/functions.html

Если второй аргумент опущен, возвращенный суперобъект не связан.

0 голосов
/ 20 февраля 2010

Нет, self является экземпляром DahlBookManager. super() использует класс для обработки таких вещей, как MRO, наследование и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...