Projet

Général

Profil

Development #49889

fallback de |count vers len()

Ajouté par Frédéric Péters il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
05 janvier 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Quand |count est appelé sur un objet qui n'a pas de méthode count, il pourrait y tenter un len().


Fichiers

Révisions associées

Révision b2ba8a11 (diff)
Ajouté par Thomas Noël il y a plus de 3 ans

templatetags: make count an alias of length (#49889)

Historique

#1

Mis à jour par Thomas Noël il y a plus de 3 ans

  • Assigné à mis à Thomas Noël
#2

Mis à jour par Thomas Noël il y a plus de 3 ans

Je pensais ça facile mais "count" est une méthode de str qui demande un argument et c'est donc un peu la vase.

#3

Mis à jour par Frédéric Péters il y a plus de 3 ans

En fait il y un __len__ sur queryset, donc je pense que juste faire

    if hasattr(queryset, 'get_value'):
        queryset = queryset.get_value()  # unlazy
    return len(queryset)

va être ok et marcher également pour le reste.

(et/ou on pourra·it conseiller l'utilisation de |length également pour les querysets).

#4

Mis à jour par Thomas Noël il y a plus de 3 ans

Bien vu. Et oui pour conseiller length, ça a du sens aussi.

#5

Mis à jour par Frédéric Péters il y a plus de 3 ans

  • Statut changé de Solution proposée à Solution validée
#6

Mis à jour par Thomas Noël il y a plus de 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit b2ba8a118dfede11dd1a8e2adb4ad2d4ddcbb278
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Wed Jan 6 11:31:46 2021 +0100

    templatetags: make count an alias of length (#49889)

#7

Mis à jour par Frédéric Péters il y a plus de 3 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF