简体   繁体   English

Django Admin 多次计数问题

[英]Django Admin multiple count issue

I have an issue with duplicated call of count method from Django Admin.我遇到了 Django Admin 重复调用count方法的问题。 Here is my code.这是我的代码。

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

... Code from Admin Model ...来自管理模型的代码

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 calls count method for 4 times and I don't know why. Django 调用了 4 次count方法,我不知道为什么。
Thanks for your help!谢谢你的帮助!

您可以用@cached_property 替换@property

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM