2010-05-29 4 views
0

Existe-t-il un moyen simple de supprimer/supprimer le dernier résultat d'un ensemble de requêtes sans affecter le db?Suppression d'un résultat de Queryset

J'essaie de paginer les résultats dans Django, mais je ne connais pas le nombre total d'objets pour une requête donnée.

Je prévoyais d'utiliser les liens suivants/précédents ou plus anciens/récents, je n'ai donc besoin de savoir s'il s'agit de la première et/ou de la dernière page.

Le premier est facile à vérifier. Pour vérifier la dernière page, je peux comparer le nombre de résultats avec la page ou faire une deuxième requête. La première méthode ne parvient pas à détecter la dernière page lorsque le nombre de résultats dans le dernier ensemble est égal à la taille de page (100 enregistrements sont divisés en 10 pages avec la dernière page contenant exactement 10 résultats) et je souhaite éviter une seconde requête.

Ma pensée actuelle est que je devrais aller chercher des pages + 1 résultats de la DB. Si la longueur du jeu de requête est égale à 11, je sais que ce n'est pas la dernière page et je veux rejeter le dernier résultat dans le jeu de requête avant de passer le jeu de requête au modèle.

+0

Django a intégré [support de pagination] (http: //docs.djangoproject.com/fr/1.2/topics/pagination/), vous ne devriez donc pas avoir besoin de le faire manuellement. –

Répondre

0

Vous pouvez simplement couper les résultats :)

objets

= your_pre_sliced_queryset [: pagesize]

Questions connexes