【问题标题】:Check date and take another item from django queryset检查日期并从 django 查询集中获取另一个项目
【发布时间】:2017-04-17 05:01:11
【问题描述】:

我有 django 应用程序(使用 django app 1.8 和 django rest framework 3.3.1)。我有 Event 模型,我只想显示最后 4 个事件,但如果在 date_start 后 10 分钟,我想再显示最后 4 个事件。

我不确定我的代码是否能正常工作。

class BoxView(generics.ListAPIView):
    queryset = Events.objects.all()
    serializer_class = BoxSerializer

    def get_queryset(self):
        last_events_list = Events.objects.all().order_by('-date_start')[:4]
        for i in last_events_list:
            if i.date_start < now() + timedelta(minutes=10):
                return last_events_list
            else:
                return last_events_list

【问题讨论】:

    标签: python django django-rest-framework django-queryset


    【解决方案1】:

    您只需要使用__lt 过滤事件

    before = now() + timedelta(minutes=10)
    last_events_list = Events.objects.filter(date_start__lt=before).order_by('-date_start')[:4]
    

    【讨论】:

    • 非常感谢。太棒了!
    猜你喜欢
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多