我正在尝试从任务列表表中获取所有数据,其中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
答案 0 :(得分:1)
要为日期范围 过滤QuerySet
,应使用__range
lookup [Django-doc]:
task_obj = TaskList.objects.filter(due_date__range=(today, task_due_date))
如果您编写due_date=...
,则只需要一个字符串或date
对象,或类似的东西来执行相等检查:然后,它将仅返回针对该特定对象的TaskList
日期。