my models.py:
class Attendancename(models.Model): teacher_name = models.ForeignKey(Teachername, default='Ram') date = models.DateField('Date', default=datetime.datetime.today) intime = models.TimeField('IN-TIME', auto_now=True) outtime = models.TimeField('OUT-TIME', auto_now=True) def hours_conversion(self): startdelta = datetime.timedelta(hours=self.intime.hours, minutes=self.intime.minutes, seconds=self.intime.seconds) enddelta = datetime.timedelta(hours=self.outtime.hours, minutes=self.outtime.minutes, seconds=self.outtime.seconds) return (enddelta-startdelta).seconds/3600 def __str__(self): return "%s" %self.teacher_name
my views.py:
def add_atten(request): if request.method == 'POST': form = AttendancenameForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect(reverse('student:listatten')) else: print(form.errors) else: form = AttendancenameForm() return render(request, 'add_atten.html', {'form': form},)
my forms.py:
class AttendancenameForm(ModelForm): intime = forms.TimeField(input_formats=('%H:%M',)) outtime = forms.TimeField(input_formats=('%H:%M',)) teacher_name = forms.ModelChoiceField(queryset=Teachername.objects.all()) class Meta: model = Attendancename fields = ('teacher_name', 'date', 'intime', 'outtime',)
Actually, I am trying to calculate the total number of hours depending on the difference between 'intime' and 'outtime' in the models.py file, but it rises above erroe. I think I am making a syntax error. Can someone tell me what the correct syntax or method is for this? Any body, please suggest me what to do to fix this?
source share