Python Django-过滤模型对象
我有一些模型:Python Django-过滤模型对象,python,django,Python,Django,我有一些模型: 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.no
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立即导入
@需要登录
def预订列表视图(请求):
保留=保留.objects.filter(date\u start\u gte=now().date())
返回渲染(
要求
“reservations/reservations_list.html”,
{'reservations':reservations}
)
今天“之后”是否意味着包括/排除从今天开始的预订?那些仍然在运行的预订(所以今天/之后是stap)?这只是一些例子。所以“after”的意思是,例如include。您得到@TomaszBonarkiewicz的错误是什么?@TomaszBonarkiewicz:我们是在谈论开始还是结束?@Sanu K yadav-没有错误,我的列表中仍然有所有保留对象。@TomaszBonarkiewicz:因为您将默认值设置为now()
,这本身并不令人惊讶:)@TomaszBonarkiewicz:你能检查一下数据库,看看是否有今天之前开始的记录吗?您能否编辑您的问题并将(样本)数据包含在数据库中?
from django.utils.timezone import now
@login_required
def reservations_list_view(request):
reservations = Reservation.objects.filter(date_start__gte=now().date())
return render(
request,
'reservations/reservations_list.html',
{'reservations': reservations}
)