I have a Task model where every task has deadline.
class Tasks(models.Model):
assigned_to = models.ForeignKey('Users', related_name='user_assigned_to')
deadline = models.DateTimeField()
status = models.CharField(max_length=20,null=True)
I need to filter out task that has deadline date earlier than today’s date with other filters.So I used this query:
all_task = Tasks.objects.filter(Q(assigned_to = i),Q(deadline<datetime.datetime.today()),~Q(status="Done"))
But this give me error:
NameError: name ‘deadline’ is not defined
If i changed the query to(just changing < sign to = ) :
all_task = Tasks.objects.filter(Q(assigned_to = i),Q(deadline=datetime.datetime.today()),~Q(status="Done"))
The above query returns me objects , but why it is not returning objects in case I use < or > with datetime?
Because using
<is trying to use it as a name instead of a keyword argument.“Field lookups”