Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django,如何每月从DateField提取值列表?_Python_Django_Django Models_Django Views_Django Templates - Fatal编程技术网

Python Django,如何每月从DateField提取值列表?

Python Django,如何每月从DateField提取值列表?,python,django,django-models,django-views,django-templates,Python,Django,Django Models,Django Views,Django Templates,我有以下型号: class Materiale(models.Model): sottocategoria = models.ForeignKey(Sottocategoria, on_delete=models.CASCADE, null=True) quantita=models.DecimalField(') prezzo=models.DecimalField() data=models.DateField(default="GG/MM/YYYY") 我

我有以下型号:

class Materiale(models.Model):
    sottocategoria = models.ForeignKey(Sottocategoria, on_delete=models.CASCADE, null=True)
    quantita=models.DecimalField(')
    prezzo=models.DecimalField()
    data=models.DateField(default="GG/MM/YYYY")
我想计算以下表达式在每月视图中给出的值
PREZZO*QUANTIA
(换句话说,一个月内所有项目的
PRZZO*QUANTITA
),但我的代码不起作用:

Monthly_views=Materiale.objects.filter(data__year='2020').values_list('month').annotate(totale_mensile=F(('quantita')*F('prezzo')))
使用
值()
方法代替
值列表()

from django.db.models import F, Sum

result = Materiale.objects.annotate(totale_mensile=F('quantita') * F('prezzo')
                           ).values('data__month').annotate(totale_mensile_sum=Sum('totale_mensile')))
或者干脆

result = Materiale.objects.values('data__month').annotate(totale_mensile_sum=Sum(F('quantita') * F('prezzo')))

也可以尝试按月份过滤

Monthly\u views=material.objects.filter(数据\u year='2020')。filter(数据\u month='4'))