我有以下观点
class AuthorList(FilterView):
model = Author
filterset_class = AuthorFilter
context_object_name = 'authors'
在模板中,其中一个字段为{{ author.value }}
,这是一个整数。
我想要做的是在模板中显示所有{{ author.value }}
的总和,但是以动态的方式显示(如果使用了一些过滤器,则使用当前的Queryset更新总和)。
我尝试使用get_context_data
添加额外的上下文,但我无法找到如何以动态方式制作它。
修改
试过这个,仍然无法正常工作:
@property
def get_sum_values(self):
sum_values = self.objects.all().aggregate(Sum('value'))['value__sum']
return sum_values
并在模板中:{{ authors.get_sum_values }}
我还尝试在属性中添加一个print语句,但没有显示,所以我猜这个函数甚至没有加载。
我的模特:
class Author(models.Model):
name = models.CharField(max_length=50, blank=True, null=True)
value = models.IntegerField(null=True, blank=True)
答案 0 :(得分:0)
您是否尝试过将模型中的总和作为一个函数?
@property
def wallet_amount_guests(self):
data_payments = self.user.earnings_set.filter(transaction_type='g').aggregate(Sum('amount'))['amount__sum']
if data_payments == None:
data_payments = 0
return data_payments
以上只是我之前使用过的一个例子。然后,您可以将html调用为blah.function_name