如何在datetime字段上过滤对象?
发布时间:2020-12-20 11:44:03 所属栏目:Python 来源:网络整理
导读:我有以下型号: class Announcement(models.Model): name = models.CharField(max_length=500) content = models.CharField(max_length=1000) is_active = models.BooleanField(default=False) date_start = models.DateTimeField() date_end = models.DateT
我有以下型号:
class Announcement(models.Model): name = models.CharField(max_length=500) content = models.CharField(max_length=1000) is_active = models.BooleanField(default=False) date_start = models.DateTimeField() date_end = models.DateTimeField() def __str__(self): return self.name 我可以过滤is_active字段上的对象,如: def announcements(request): announcements = Announcement.objects.all().filter( is_active = True ) return HttpResponse( serializers.serialize("json",announcements)) 这很好用.但是当我想基于date_start字段过滤它们时,如下所示: def announcements(request): announcements = Announcement.objects.all().filter( date_start >= datetime.now() ) return HttpResponse( serializers.serialize("json",announcements)) 我得到全局名称’date_start’没有定义错误. 解决方法
您需要使用
queryset过滤器查找,__gte (greater than or equal):
announcements = Announcement.objects.all().filter(date_start__gte = datetime.now()) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |