[英]Sum of fields for filtered queryset using django_filters
我有以下觀點
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)
您是否嘗試過將模型中的總和作為函數?
@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
以上只是我以前使用的一個示例。 然后可以以blah.function_name的形式調用html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.