Méthodes dépendantes d'autres classes

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour à tous,

Je reviens à la charge avec un nouveau problème, que je traîne depuis plusieurs mois sur mon site. J’ai ce genre de méthodes sur mes classes :

Classe TournamentForce :

1
2
3
4
5
6
7
8
def is_user_accepted(self, user):
    return TournamentForce.objects.filter(force__user=user,
                                          status=TournamentForce.STATUS_ACCEPTED,
                                          tournament=self).count() > 0

def remaining_paid_spots(self):
    return self.max_spots - Payment.objects.filter(tournament=self).count() \
           + Refund.objects.filter(payment__tournament=self).count()

Donc des appels à l’ORM de Django à l’intérieur de mes méthodes. Ça me semble "pas bien". Je voulais savoir si il n’y avait pas mieux comme pratique d’une part, et d’autre part quelles pourraient être les solutions alternatives :)

Merci d’avance et bonne journée !

+0 -0
Auteur du sujet

Salut,

Je ne suis pas sûr de comprendre : les méthodes que j’ai données en exemple sont bien sur mes modèles. Par contre, ce sont les appels à l’ORM à l’intérieur de celles-ci qui me dérangent, et je voulais savoir s’il y avait une autre solution, ou bonne pratique.

+0 -0

Mais on ne voit pas à quel modèle appartiennent tes méthodes.

Je pense que ce que voulais dire tleb, et ce que j’aurais dit aussi, c’est que si ça te gène de faire TournamentForce.objects.filter(...) depuis un autre modèle tu peux toujours faire une méthode de classe dans TournamentForce qui filtre selon tes critères.

Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte