我正在尝试从任务列表表中获取所有数据,其中 due_data 应该位于今天的日期和通过 URL 传递的日期之间。
在 Django 中按日期范围过滤查询对象,显示错误 - {TypeError}预期字符串或类似字节的对象
Models.py
class TaskList(models.Model):
id = models.AutoField(primary_key=True)
tasks = models.CharField(max_length=1000)
due_date = models.DateField(null=False) # e.g. 2019-01-15
task_state = models.ForeignKey(States, on_delete=models.CASCADE)
class Meta:
db_table = 'tasklist'
Views.py
today = date.today().isoformat()
#task_due_date - say '2019-05-13' passing as a string via url
task_obj = TaskList.objects.filter(due_date=[today, task_due_date]) # error in this line
最佳答案
为了过滤 QuerySet
的日期范围,您应该使用 __range
lookup [Django-doc] :
task_obj = TaskList.objects.filter(<b>due_date__range</b>=(today, task_due_date))
如果您编写 due_date=...
它只需要一个字符串或 date
对象,或类似的东西来执行相等性检查:然后它只会返回 在该特定日期到期的任务列表
。
关于python - 按日期范围查询对象 - 错误 - {TypeError}预期字符串或类似字节的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56027822/