如何在python和django中计算百分比

如何在python和django中计算百分比,python,django,django-models,django-views,percentage,Python,Django,Django Models,Django Views,Percentage,我正在写一个简单的程序,允许用户在十天内得到他们投资额的8%作为回报。 十天内的用户余额将等于他/她投资的任何金额的百分之八,并且百分比余额将在十天后返回到用户余额中。 请看下面的代码并帮助我 Models.py class Profile(models.Model): user = models.ForeignKey(UserModel, on_delete=models.CASCADE) balance = models.DecimalField(default=

我正在写一个简单的程序,允许用户在十天内得到他们投资额的8%作为回报。 十天内的用户余额将等于他/她投资的任何金额的百分之八,并且百分比余额将在十天后返回到用户余额中。 请看下面的代码并帮助我

Models.py

class Profile(models.Model):
       user = models.ForeignKey(UserModel, on_delete=models.CASCADE)
       balance = models.DecimalField(default=Decimal(0),max_digits=24,decimal_places=4)


class Investment(FieldValidationMixin, models.Model):
       user = models.ForeignKey(User, on_delete=models.CASCADE)
       amount = models.DecimalField(max_digits=5, decimal_places=2, null=True, blank=True)
       fixed_price = models.DecimalField(max_digits=7, decimal_places=2, nulll=True, blank=True)     
       percentageee = models.DecimalField(max_digits=3, decimal_places=0, nulll=True, blank=True)
       profile = models.ForeignKey(Profile, on_delete=models.CASCADE)

       def __str__(self):
              return _("{0}: (#{1} 
              {2}%, ${3})".format(self.__class__.__name__, self.amount, self.percentage, self.fixed_price) )
我想在这里获取用户投资金额的百分比

Views.py

 def get_percentage(self):
    pef_of_amount = Investment.objects.filter(amount=self.amount).annotate(percentageee=Sum('amount'))
    return '{:%}'.format(amount.percentageee / 8)



def percentile(self, days=10): 
       percent=Investment.objects.filter(self.amount*self.percentage)/100 in days
       return percentile
#十天后获得投资金额的百分比余额

def get_current_balance(self,percentile):
   total_expenses = Profile.objects.all().aggregate(Sum('balance')).annonate(percentile)
   return get_current_balance

以下是获得8%金额的方法:

类别投资(FieldValidationMixin,models.Model):
user=models.ForeignKey(用户,on_delete=models.CASCADE)
金额=型号。小数字段(最大位数=5,小数位数=2,空=真,空=真)
fixed_price=models.DecimalField(最大位数=7,小数位数=2,空值=True,空值=True)
percentageee=models.DecimalField(最大位数=3,小数位数=0,null=True,blank=True)
profile=models.ForeignKey(profile,on_delete=models.CASCADE)
def get_百分比(自身):
退货金额*0.08
下面是一个如何调用它的示例:

i=Investment()
i、 金额=100
结果=i.获取百分比()

在投资模型中添加一种方法,以返回所需的计算结果,怎么样?先生,我不理解您的贡献,先生。-您能帮我看看解决方案吗?您对我如何实现这一点有什么想法吗。先生,每十天只收取一次金额的百分比。谢谢你的回答,这对我很有帮助