如何打印上个月创建的对象,而不是使用datetime.timedelta(天=30)



我正在制作一个Django应用程序,用于打印每月的支出

我一直在搜索如何打印在特定月份创建的对象(费用((或可能是上个月(我检查了许多类似的堆栈溢出问题,但未能找到合适的答案。

许多人使用

datetime.timedelta(days=30)

但是,这种方法怎么能适用于打印特定月份的费用呢。

我想用这样的方法

datetime.timedelta(previous month)

有什么可能的方法可以做到这一点吗?

以下是实现的好方法

首先,在视图.py文件中:

  1. 从宣布今天的日期开始
today = datetime.date.today()
  1. 您需要过滤掉上个月创建的对象(此处以五月为例(
may_month_expenses = 
Expenses.objects.filter(created__month='05',created__year=today.year)

解释:

费用型号的名称

objects.filter((用于打印满足括号中的条件

创建是费用中的日期时间字段

created_month='05'指定应该创建对象5月(第5个月(

created__year=today。year对于打印对象非常重要仅在今年(2021(的5月份创建

这将打印2021年5月创建的对象

最新更新