所以我有下面的模型,它包含不同的布尔值和一个amount
字段.
class UserTransaction(models.Model):
"""
A table to store transactions between a user and Farena
"""
user = models.ForeignKey(User, on_delete=models.CASCADE)
offer = models.ForeignKey(Offer, on_delete=models.CASCADE, blank=True, null=True)
created_at = models.DateTimeField(auto_now_add=True)
amount = models.FloatField()
is_deposit = models.BooleanField(default=False)
is_withdrawal = models.BooleanField(default=False)
is_interest = models.BooleanField(default=False)
is_investment = models.BooleanField(default=False)
is_return = models.BooleanField(default=False)
def __str__(self):
return f'{self.user.first_name} {self.user.last_name} transacted {self.amount}'
我试图用annotate
来构建它,但这会 for each 实例添加字段,据我所知,这并不能解决我的问题.此外,使用aggregate
我无法实现条件,也不知道如何访问模板中的聚合值?