Python和django,如何从queryset中提取数据

Python和django,如何从queryset中提取数据,python,python-3.x,django,django-models,django-views,Python,Python 3.x,Django,Django Models,Django Views,我有个问题要问你。我有以下课程: class StatoPatrimoniale(models.Model): reference_date=models.DateField() income=models.DecimalField() debt=models.DecimalField() 之后,我以以下方式命名了一个新变量,即去年的账户: now=datetime.datetime.now() last_account_year=float(now.year)-1

我有个问题要问你。我有以下课程:

class StatoPatrimoniale(models.Model):
    reference_date=models.DateField()
    income=models.DecimalField()
    debt=models.DecimalField()
之后,我以以下方式命名了一个新变量,即去年的账户:

now=datetime.datetime.now()
last_account_year=float(now.year)-1
现在我想创建一个函数,让我能够提取incomean和debt对象,并使用上一个账户年和参考日期中的年份对其进行过滤。 我怎样才能得到这个结果?

您应该使用以下模型:

在封装逻辑并将其固定为零(如果不存在)的函数中:

def func(year):
    queryset = StatoPatrimoniale.objects.filter(reference_date__year=year)
    return queryset if queryset.exists() else 0

您可以使用.filter筛选查询和值列表以获取值:以下是一个示例:

StatoPatrimoniale.objects.filter(reference_date__year=last_account_year).values_list('income', 'debt')

好的,谢谢,如果不存在,我是否想将其修正为零?@FedericoDeMarco我在回答中添加了示例好的,谢谢,如果数据不存在,我是否想将其修正为零?
StatoPatrimoniale.objects.filter(reference_date__year=last_account_year).values_list('income', 'debt')