如何解决Django Admin多个计数问题
我在Django Admin中重复调用count
方法时遇到问题。这是我的代码。
class AdminPaginator(Paginator):
@property
def count(self):
cursor = connection.cursor()
cursor.execute("SELECT reltuples FROM pg_class WHERE relname = %s",[query.model._meta.db_table])
count = int(self.cursor.fetchone()[0])
return count
...管理员模型中的代码
list_per_page = 50
show_full_result_count = False
paginator = AdminPaginator
def get_queryset(self,request):
"""
Overrides default query to exclude inactive entities.
"""
qs = super().get_queryset(request)
active_entities = qs.filter(is_active=False)
return qs.exclude(id__in=active_entities)
Django调用count
方法4次,我不知道为什么。
感谢您的帮助!
解决方法
您可以将@property替换为@cached_property
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。