【发布时间】:2017-10-19 10:43:36
【问题描述】:
我有一个像下面这样的课程
class Paginator(object):
@cached_property
def count(self):
some_implementation
class CachingPaginator(Paginator):
def _get_count(self):
if self._count is None:
try:
key = "admin:{0}:count".format(hash(self.object_list.query.__str__()))
self._count = cache.get(key, -1)
if self._count == -1:
self._count = self.count # Here, I want to get count property in the super-class, this is giving me -1 which is wrong
cache.set(key, self._count, 3600)
except:
self._count = len(self.object_list)
count = property(_get_count)
如上面的评论所示,self._count = <expression> 应该在超类中获取 count 属性。如果是方法,我们可以这样称呼它super(CachingPaginator,self).count()AFAIK。我在 SO 中提到了很多问题,但没有一个对我有帮助。谁能帮我解决这个问题。
【问题讨论】:
-
你试过
super(CachingPaginator,self).count吗? -
或者,如果您使用的是 python 3:
super().count -
@TheBrewmaster 我在 python 2.7 伙伴...
-
@lokesh1729 我的心向你倾诉 ;-)
-
@lokesh1729 最好将 python2.7 标签添加到您的问题以及edit中可能存在的任何其他约束
标签: python django python-2.7 inheritance