From 959c98fe79a234534e13c013822526cc727d8956 Mon Sep 17 00:00:00 2001 From: ydb5755 Date: Tue, 24 Sep 2024 14:36:24 +0300 Subject: [PATCH] functions for campaign model and ambassador goal --- app/campaigns/models.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/campaigns/models.py b/app/campaigns/models.py index 171c277..35c4c08 100644 --- a/app/campaigns/models.py +++ b/app/campaigns/models.py @@ -11,6 +11,7 @@ class AmbassadorMap(db.Model): id = Column('id', INTEGER(), primary_key=True) campaign_id = Column('campaign_id', INTEGER(), nullable=False) user_id = Column('user_id', INTEGER(), nullable=False) + goal = Column('ambassador_goal', INTEGER()) @@ -25,8 +26,17 @@ class Campaign(db.Model): def get_donations(self): from app.main.models import Donation return Donation.query.filter_by(campaign_id=self.id).all() + + def get_amount_raised(self): + donations = self.get_donations() + total = 0 + for donation in donations: + total += donation.amount + return total + + def get_ambassadors(self): + return AmbassadorMap.query.filter_by(campaign_id=self.id).all() def __repr__(self) -> str: - return f"{self.id} - {self.title}" - # donation_id = Column(INTEGER, ForeignKey('donation.id')) \ No newline at end of file + return f"{self.id} - {self.title}" \ No newline at end of file