2
It seems you have missed assigning the naive datetime object back to the value
datetime object.
It should be
value = value.replace(tzinfo=None) # assign 'naive' datetime object back to 'value'
instead of just
value.replace(tzinfo=None) # will just return 'naive' datetime object
The code now becomes:
import pytz
import datetime
....
for i, row in enumerate(list(Record.objects.all())):
for j,field in enumerate(list(Record._meta.get_fields())):
value = getattr(row,field.name)
if isinstance(value, datetime.datetime):
value = value.replace(tzinfo=None) # assign value as 'naive' datetime object
worksheet.write(i, j, value) # will now use 'naive' datetime object to write
else:
worksheet.write(i, j, value)
0
your question is not answered yet, your code always returns false because instead of using DateTimeField of django model you are using datetime.datetime
so insted of using:
if isinstance(value, datetime.datetime):
you should do:
from django.db.models.fields import DateTimeField
if isinstance(value, DateTimeField):
- [Answered ]-URL not resolved with APIView in Django REST Framework for non-model end point
- [Answered ]-Encoding JSON with strings in html data attributes
- [Answered ]-Adding permissions when user is saved in Django Rest Framework
Source:stackexchange.com