I'm using Django 2.2
In my application, timezone support is enabled by USE_TZ=True in the settings file.
I have models with DateTime field created.
I need to filter data based on the date. The date can be provided by the user or else it will be default to now().
This is what I'm doing
from datetime import datetime, timedelta
from django.utils import timezone
class Generator:
def __init__(self, start_date=None, end_date=None):
if end_date:
self.end_date = datetime.strptime(end_date, '%Y-%m-%d').date()
else:
self.end_date = timezone.now().date()
if start_date:
self.start_date = datetime.strptime(start_date, '%Y-%m-%d').date()
else:
self.start_date = self.end_date - timedelta(days=7)
def get_query(self, d):
query = MyModel.objects.filter(
d__in=d,
created__gte=start_date,
created__lte=end_date
)
return query
But this is giving error
RuntimeWarning: DateTimeField MyModel.created received a naive datetime (2020-02-28 00:00:00) while time zone support is active.
How can I get this issue solved?