gpt4 book ai didi

django - 使用Django Rest框架对DateTimeField进行过滤

转载 作者:行者123 更新时间:2023-12-04 04:21:36 27 4
gpt4 key购买 nike

我有一个带有DateTimeField的模型:

class MyShell(models):
created = models.DateTimeField(auto_now=true)

我有一个使用Django Rest Framework链接到它的api:
class ShellMessageFilter(django_filters.FilterSet):
created = django_filters.DateTimeFilter(name="created",lookup_type="gte")

class Meta:
model = ShellMessage
fields = ['created']


class ShellListViewSet(viewsets.ModelViewSet):
"""
List all ShellMessages
"""
serializer_class = ShellMessageSerializer
queryset = ShellMessage.objects.all()
filter_class = ShellMessageFilter

当我使用以下网址访问我的API时,它可以正常运行:
http://127.0.0.1:8000/api/shell/?created=2014-07-17
# It returns all shell with a date greater than the one provided in URL

但是,我想通过基于日期和时间进行过滤来做更多的事情。我尝试了以下URL,但未成功:
http://127.0.0.1:8000/api/shell/?created=2014-07-17T10:36:34.960Z
# It returns an empty array whereas there are items with a created field greater than 2014-07-17T10:36:34.960Z

如果你们知道如何进行...在django-filters文档中找不到任何好的信息或示例...

最佳答案

如果您不在乎几分之一秒,则可以采用更简单的解决方案:用空格(%20)替换“T”:

http://127.0.0.1:8000/api/shell/?created=2014-07-17%2010:36:34

为我工作。

关于django - 使用Django Rest框架对DateTimeField进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24805767/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com