Bonjour, Je suis en train de coder un site qui utilise des dons en tant qu'éléments multiples sur un projet. Je calcule le montant total des dons, mais cela ne semble pas fonctionner. Ai-je besoin d'une table intermédiaire entre les deux modèles?Agrégation Django dans le modèle
Je me demandais s'il y avait une meilleure façon de le faire avec Django Aggregation.
class Donation(models.Model):
user = models.ForeignKey(User)
amount= models.DecimalField(max_digits=12, decimal_places=2)
def __unicode__(self):
return self.user
class Project(models.Model):
name = models.CharField(max_length=200)
donations=models.ManyToManyField(Donation, null=True, blank=True)
def __unicode__(self):
return self.name
def progress(self):
donations = self.donations.all()
total_donations = 0
for item in donations:
total_donations += item.amount
return total_donations
Merci pour votre aide aimable!
Vous devez écrire le code que vous avez déjà essayé. Cela nous donnerait une meilleure idée de ce que vous recherchez. –
Un seul don sera-t-il versé à plusieurs projets? Sinon, vous ne voulez probablement pas beaucoup de champ. Vous pouvez placer un champ de clé étrangère dans Donation to Project à la place. –
Bryce, merci pour votre réponse. J'essaie le code au moment où on se parle, sans résultat: S –