id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 21042 Sphinx's autodoc fails to handle FileField due to FileDescriptor implementation Benoît Bryon nobody "I was reading code to understand why Sphinx's autodoc fails to handle some model attributes such as FileField. See https://bitbucket.org/birkenfeld/sphinx/issue/1254/autodoc-fails-to-handle-descriptors-with for details... ... then I wondered why SingleRelatedObjectDescriptor.__get__() returns self if instance is None whereas FileDescriptor.__get__() raises AttributeError(). I guess they should have the same behaviour. But I'm not sure since I do not know the reason why they differ... As I understand [http://docs.python.org/2/reference/datamodel.html#object.__get__], raising AttributeError is a feature. But as mentioned in https://github.com/deschler/django-modeltranslation/pull/131, returning self could be a solution to get autodoc work (but isn't it a hack?). Notes and references: * SingleRelatedObjectDescriptor's implementation: https://github.com/django/django/blob/c7d0ff0cad24dbf444f2e4b534377c3352c7aa98/django/db/models/fields/related.py#L182 * FileDescriptor's implementation: https://github.com/django/django/blob/31e6d58d46894ca35080b4eab7967e4c6aae82d4/django/db/models/fields/files.py#L157 * Creator (and thus many custom fields, including third-party such as django-uuidfield) is also affected: https://github.com/django/django/blob/03d9566e0df45c72bffa99fe244a92f0279da56f/django/db/models/fields/subclassing.py#L33" Bug closed Database layer (models, ORM) 1.5 Normal fixed bmispelon@… jm.barbier+djangocode@… Ready for checkin 1 0 0 0 0 0