簡體   English   中英

使用django_filters過濾的查詢集的字段總和

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM