Я думаю, что, возможно, что-то очень просто, я здесь отсутствует, но я не могу его найти.isinstance (datetime.datetime, DateTimeField.value) всегда возвращает false для Django DateTimeField
У меня есть пользовательская команда администратора в моем проекте django, которая должна перебирать экземпляры модели Record
и записывать их в файл xlsx.
Я использую xlsxwriter
, и в результате мне нужно преобразовать значения datetime.datetime
в экземпляры Record
наивным объектам. Поэтому я хочу сказать: «Когда вы сталкиваетесь с DateTimeField
в модели Record
, используйте value.replace(tzinfo=None)
, чтобы сделать объект наивным, прежде чем писать его».
По какой-то причине мой if isinstance(value, datetime.datetime)
никогда не возвращается, и я получаю ошибку записи от xlsxwriter
о наивном/осведомленном объекте datetime
.
Вот соответствующий код:
sampleadmincommand.py
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.replace(tzinfo=None)
worksheet.write(i, j, value)
else:
worksheet.write(i, j, value)
models.py
class Record(models.Model):
time = models.DateTimeField()
manHoursScheduled = models.FloatField()
manHoursWorked = models.FloatField()
carsOvernight = models.IntegerField()
carsEvent = models.IntegerField()
dailyTransientIncome = models.FloatField()
dailyTransientCars = models.FloatField()
dailyTransientIncomePerCar = models.FloatField()
nightlyTransientIncome = models.FloatField(null=True)
nightlyTransientIncomePerCar = models.FloatField(null=True)
eventName = models.TextField(null=True)
facility = models.ForeignKey(Facility)
def __str__(self):
return self.facility.name
Я очень озадачены, как к тому, что я делаю неправильно здесь, так Я бы очень признателен за любую помощь!
Извиняюсь, что имеет отношение к моей пасты. Отстут все правильно, я отредактировал сообщение, чтобы показать столько же. – JwM
@JwM Я сделал несколько изменений. – galath
Спасибо, принят. – JwM