python - 如何在 django 中使用日期时间过滤日期时间?
问题描述
我有一个作业模型,我想根据日期(date_view)过滤以显示作业。看起来像这样-
作业模型
class Homework(models.Model):
hw_id = models.CharField(unique=True, max_length=50)
homework = models.TextField()
subject = models.ForeignKey(Subject, on_delete=models.CASCADE)
class_id = models.ForeignKey(Classes, on_delete=models.CASCADE)
date_added = models.DateTimeField(auto_now_add=True)
date_updated = models.DateTimeField(auto_now=True)
date_view = models.DateTimeField(default=datetime.now())
但是当我尝试像这样过滤时-
hw = Homework.objects.filter(class_id=class_id).filter(date_view__gte='homework__date_added')
我得到这个错误-
['“homework__date_added” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format.']
我认为我以错误的方式过滤数据。但是我应该如何过滤数据?
解决方案
from django.db.models import F
hw = Homework.objects.filter(
class_id=class_id,
date_view__gte=F('date_added')
)
推荐阅读
- python - AttributeError:模块“networkx”没有属性“connected_component_subgraphs”
- jupyter-notebook - 如何使用 ipywidgets 在 VBOX 中显示 pandas 数据框
- html - 如何使用网格均匀分布图像链接?
- spring-boot - 带有 TLS 的 spring boot 和 rabbitmq (AMQP 1.0)
- java - 使用的 Mapstruct 不实例化类
- r - 从 R 中的 data.table 中删除基于两个条件的行
- excel - Countif VBA - 在没有 for 循环的情况下更改数组中的元素(单元格)并且不更改源数据
- docker - 在 GitHub 操作中使用本地 Dockerfile?
- python - numpy.float64' 对象不可迭代——TypeError
- service-worker - 桌面 PWA - 导航时带有一些 URL 的奇怪错误横幅