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

问题描述

我正在制作一个 Django 应用程序来打印每月

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

很多人使用

ERROR Invalid hexadecimal character ' '

但是这种方法如何适合打印特定月份的费用。

我想使用类似的方法

datetime.timedelta(days=30)

有没有办法做到这一点?

解决方法

这是一个很好的方法

首先,在您的 views.py 文件中:

  1. 从声明今天的日期开始
    today = datetime.date.today()
  1. 需要过滤掉上个月创建的对象(这里以5月为例)
    may_month_expenses = 
    Expenses.objects.filter(created__month='05',created__year=today.year)

说明:

费用模型

的名称

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

created 是费用中的 DateTimeField

created__month='05' 指定对象应该已经创建 五月(第 5 个月)

created__year = today.year 很重要,因为您要打印对象 仅在 今年(2021 年) 的 5 月创建。

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...