繁体   English   中英

Python 和 django,如何从查询集中提取数据

[英]Python and django, how to extract data from the queryset

我有一个问题问你。 我有以下 class:

class StatoPatrimoniale(models.Model):
    reference_date=models.DateField()
    income=models.DecimalField()
    debt=models.DecimalField()

之后,我以下列方式命名了一个新变量last_account_year

now=datetime.datetime.now()
last_account_year=float(now.year)-1

现在我想创建一个 function ,它使我能够提取使用last_account_yearreference_date中的年份过滤它们的incomedebt对象。 我怎么能得到这个结果?

您应该使用 model 日期字段查找

StatoPatrimoniale.objects.filter(reference_date__year=last_account_year)

在 function 封装逻辑并将其固定为零(如果不存在):

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

您可以使用 .filter() 过滤您的查询和 values_list() 以获取值:这是一个示例:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM