如何根据Django中最近创建的模型对象进行筛选



我在Django的一个网站上工作,我有一个模型"Question"。Question模型有一个字段"date_created",它是一个DateTimeField。

from django.db import models
from django.utils import timezone
class Question(models.Model:
...
date_created = models.DateTimeField(default=timezone.now)

在我看来,我希望能够得到过去10天里被问到的所有问题。类似这样的东西:

Question.objects.filter(???)
>> <All the questions that have been asked in the last 10 days>

我该用什么替换"???"具有提前谢谢。

您可能只想获得最近的N个问题。

Question.objects.order_by('-date_created')[:10]

你会想要做这个

from django.utils import timezone
from datetime import timedelta
ten_days_ago = timezone.now() - timedelta(days=10)
questions_last_10_days = Question.objects.filter(date_created__gte=ten_days_ago)

您使用timedelta来获取10天前的日期时间。

然后使用过滤器date_created__gte。这是一个Django构造,意思是";date_ created大于或等于"date_;

最新更新