I would like to request some assistance regarding this matter
I am learning django and trying out some codes but I hit a brick wall at trying to get the date only from a model's DateTimeField
here's the code that I am working on:
class APPLICANT_DATA(models.Model):
SCHEDULED_AT = models.DateTimeField(null=True, blank=True)
def somefunction():
app_data = APPLICANT_DATA.objects.all()
for item in app_data:
the_date = str(item.SCHEDULED_AT.strftime("%B-%d-%Y")) + ", " + the _date
And I am getting ('NoneType' object has no attribute 'strftime') even though my model contains 3 records that all have date and time
What am I doing wrong? any advice for a newbie? many thanks.
3 Answers
DateTimeField becomes a datetime.datetime object in Python
If you need a date object to manipulate later on, you could pull the datetime.date object directly from your DateTimeField(), using datetime.datetime.date() like below:
class ApplicantData(models.Model):
scheduled_at = models.DateTimeField(null=True, blank=True)
date = application_data.scheduled_at.date()
This works because Django will translate the DateTimeField into the Python type datetime.datetime, upon which we have called date().