import random
from django.db import models
from decimal import *
class FundraisingGoal(models.Model):
"""Conservancy fundraiser Goal"""
@@ -14,7 +15,30 @@ class FundraisingGoal(models.Model):
return self.fundraiser_code_name
def percentage_there(self):
return (self.fundraiser_so_far_amount / self.fundraiser_goal_amount ) * Decimal('100.00')
return (self.fundraiser_so_far_amount / self.fundraiser_goal_amount ) * 100
class Meta:
ordering = ('fundraiser_code_name',)
def providers(self):
return GoalProvider.objects.filter(fundraising_goal=self)
def random_providers(self, k=None):
providers = self.providers()
if not providers.exists():
return None
elif k is None:
return random.choice(providers)
else:
return random.sample(providers, k)
class GoalProvider(models.Model):
fundraising_goal = models.ForeignKey(
'FundraisingGoal',
on_delete=models.CASCADE,
)
provider_name = models.CharField(max_length=512)
def __unicode__(self):
return self.provider_name