TypeError: Django中日期范围的预期字符串或类似字节的对象错误。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TypeError: Django中日期范围的预期字符串或类似字节的对象错误。相关的知识,希望对你有一定的参考价值。

我正在尝试过滤 CartItem 基于对象的交付日期。我定义了一个 startfilterdate 和一个 endfilterdate 我将其格式化为一个字符串,与我的交货日期的格式化方式相同。不知道我做错了什么。

模型.py

class CartItems(models.Model):
    restaurant = models.ForeignKey(Restaurant, related_name='restaurant', on_delete=models.CASCADE)
    delivery_date = models.DateField(auto_now_add=False)

views.py

class RestaurantOrders(generics.ListAPIView):
    serializer_class = RestaurantOrderSerializer

    def get_queryset(self):
        restaurant_id = self.kwargs['pk']
        startfilterdate = date.today()
        startfilterdate = startfilterdate.strftime("%Y-%m-%d")
        endfilterdate = date.today()+timedelta(days=9)
        endfilterdate = endfilterdate.strftime("%Y-%m-%d")
        orders = CartItems.objects.filter(restaurant_id = restaurant_id, delivery_date=[startfilterdate,endfilterdate])

错误:类型错误:预期的字符串或类似字节的对象。TypeError: expected string or bytes-like object.

答案

使用 range 查找为:

orders = CartItems.objects.filter(..., delivery_date__range=[startfilterdate,endfilterdate])

以上是关于TypeError: Django中日期范围的预期字符串或类似字节的对象错误。的主要内容,如果未能解决你的问题,请参考以下文章

mysql-connector-python cursor_cent.py 文件上的 Django 迁移错误“TypeError:序列项 1:预期类似字节的对象,str found”

如何在 django 中按日期范围过滤记录?

具有特定条件计数的 Mongodb 聚合并按输出投影的日期范围过滤不能按预期工作

Twitter Bootstrap 的 Django 和日期范围选择器组件

Django:按日期范围过滤对象

Django模型对象过滤关于日期范围以查找创建对象的初始日期?