Я начал использовать Sphinx для проекта django и наткнулся на кирпичную стену:
Модули задокументированы примерно так:
:mod:`models` Module
--------------------
.. automodule:: userprofile.models
:members:
:undoc-members:
:show-inheritance:
Соответствующий код выглядит так:
# models is django.db.models
class ProfileQuerystring(models.Model):
[..]
Проблема в том, что ProfileQuerystring
не не появляется в сборке HTML. Однако, если я уберу наследование с models.Model
(чтобы строка выглядела как class ProfileQuerystring:
) и пересобрал, класс документируется.
Это не происходит на несколько строк выше того кода, где я наследую от models.Manager
.
Кто-нибудь может мне помочь или хотя бы дать подсказку?
ПОСЛЕДНЕЕ РЕДАКТИРОВАНИЕ :
Если я добавлю его вручную, оно будет работать:
.. automodule:: cinely.userprofile.models
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: cinely.userprofile.models.ProfileQuerystring # <-- note this
Так что класс может быть задокументирован, но каким-то образом automodule
не хочет.
ПОЗДНЕЕ РЕДАКТИРОВАНИЕ 2 :
Я пытался удалить атрибут __metaclass__
из Model
, но ничего не происходит. Кроме того, поскольку я начал редактировать исходный код Django, я воспользовался возможностью напечатать что-нибудь на консоль, но ничего не произошло. Я могу подтвердить, что используется настроенный django, потому что я удалил установленный pip
.