So implementieren Sie einen Paginator, der count (*) nicht aufruft

8

Ich arbeite an einer Django-Website mit einem MySQL innodb-Backend. Wir haben Hunderttausende von Datensätzen in mehreren unserer Tabellen und dies verursacht einige Probleme in der Site-Stabilität / Leistung im Admin. Insbesondere macht django beim Erstellen der Paginatoren gern Zählungen (*), was viele Probleme verursacht.

Mit Django 1.3.x haben sie begonnen, benutzerdefinierte Paginierungsklassen bereitzustellen. Also, ich bin daran interessiert, eine Möglichkeit zu finden, diese Abfragen entsprechend zu beschleunigen oder zu eliminieren. Bisher habe ich mir diese beiden Seiten angesehen: Ссылка Ссылка und ich habe sie nicht wirklich gefunden, wonach ich suche. Irgendwelche Vorschläge, Hilfe, ect. würde sehr geschätzt werden.

    
ebensing 09.10.2011, 22:33
quelle

2 Antworten

10

Sie können die Variable _count in Ihrem Paginator definieren

%Vor%

Und hier ist der Teil des Django-Paginator-Codes, der Ihnen hilft zu verstehen, was diese Variable macht und wie die Seitenzahl funktioniert.

%Vor%     
errx 02.11.2011 21:25
quelle
0

Sie können auch django-endless-pagination aufrufen. endless_pagination.paginator.LazyPaginator ist nicht schlecht, aber Sie müssen möglicherweise ein paar Optimierungen hinzufügen.

    
DrMeers 22.01.2012 07:45
quelle

Tags und Links