我有一些模型:
class Reservation(models.Model):
created = models.DateTimeField(auto_now_add=True)
name = models.CharField(max_length=50)
date_start = models.DateTimeField(default=timezone.now)
date_stop = models.DateField(default=timezone.now)
我尝试过滤所有预订:
@login_required
def reservations_list_view(request):
reservations = Reservation.objects.all()
return render(request, 'reservations/reservations_list.html', {'reservations': reservations})
此刻 - 我跳过了这个过滤器: reservations = Reservation.objects.filter( ... ) - 我不知道我应该使用什么。
我试过,例如
reservations = Reservation.objects.filter(name__exact='Tom')
买了还是不行。
我想查看所有预订,例如今天(开始日期)之后,这是我的问题。你能帮忙吗?
请您参考如下方法:
我们可以使用 now().date() 从 django.utils.timezone [Django-doc] 获取当前日期.然后我们可以过滤 Reservation 的 date_start 大于或等于 __gte lookup [Django-doc] 的日期:
from django.utils.timezone import now
@login_required
def reservations_list_view(request):
reservations = Reservation.objects.filter(<b>date_start__gte=now().date()</b>)
return render(
request,
'reservations/reservations_list.html',
{'reservations': reservations}
)
