繁体   English   中英

如何在 Django 中使用日期时间过滤日期时间?

[英]How to filter datetime using datetime in 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.']

我认为我以错误的方式过滤数据。 但是我应该如何过滤数据?

您可以使用F对象 [Django-doc]引用字段:

from django.db.models import F

hw = Homework.objects.filter(
    class_id=class_id,
    date_view__gte=F('date_added')
)

暂无
暂无

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

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