Unbound fields are accessible from class.

This commit is contained in:
Matthew Tretter 2011-09-21 09:52:38 -04:00
parent 2770be23ea
commit 34e475885b
2 changed files with 11 additions and 5 deletions

View file

@ -17,8 +17,11 @@ class AdminThumbnailView(object):
self.image_field = image_field
self.template = template
def __get__(self, obj, type=None):
return BoundAdminThumbnailView(obj, self)
def __get__(self, instance, owner):
if instance is None:
return self
else:
return BoundAdminThumbnailView(instance, self)
class BoundAdminThumbnailView(AdminThumbnailView):
@ -43,6 +46,6 @@ class BoundAdminThumbnailView(AdminThumbnailView):
'original_image': original_image,
})
def __get__(self, obj, type=None):
def __get__(self, instance, owner):
"""Override AdminThumbnailView's implementation."""
return self

View file

@ -222,5 +222,8 @@ class _ImageSpecDescriptor(object):
self._property_name = property_name
self._spec = spec
def __get__(self, obj, type=None):
return BoundImageSpec(obj, self._spec, self._property_name)
def __get__(self, instance, owner):
if instance is None:
return self._spec
else:
return BoundImageSpec(instance, self._spec, self._property_name)