Reputation: 29
This my table and here i want to update the end_time
field
For that I get error while updating end_time
field
07/May/2014 07:54:30] "POST /createxml/ HTTP/1.1" 500 13328
models.py
class JobDetails(models.Model):
user_id=models.ForeignKey('UserDetails',null=True)
job_name=models.CharField(max_length=45,null=True)
start_time = models.TimeField(_(u"Job Start Time"), auto_now_add=True, blank=True,null=True)
end_time = models.TimeField(_(u"Job End Time"), auto_now_add=True, blank=True,null=True)
status=models.IntegerField(null=True)
job_url=models.URLField(null=True)
def __unicode__(self):
return '%s%s%s%f%s%s' % (self.id,self.job_name,self.start_time,self.end_time,self.status,self.job_url)
Views.py
job_object=JobDetails.objects.get(pk=jobMaxId)
job_object.status=job_status
job_object.end_time=time.localtime(etime)
job_object.save();
Here it successfully update the status field but not end_time
giving error
When I use sys.exc_info()
, I got the following error.
import sys
print sys.exc_info()
(<type 'exceptions.TypeError'>, TypeError('expected string or buffer',), <traceback object at 0xb93c098>)
Upvotes: 1
Views: 1985
Reputation: 18727
You are using time
with
import time
time.localtime(etime)
But django DateTimeField
, and TimeField
supports time
module imported as
from datetime import time
Otherwise, you will get error bacause time formats do not match.
You must first change your time
format to datetime...
from datetime import datetime
from time import mktime, time, localtime
end_time = localtime(etime)
datetime_time = datetime.fromtimestamp(mktime(end_time)) # Convert your time.struct_time to datetime.time
job_object.end_time = datetime_time
job_object.save()
Upvotes: 3