benim models.py:TypeError: için desteklenmeyen işlenen türü (ler): - 'datetime.time' ve 'datetime.time'
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
benim 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},)
benim forms.py: Aslında benim modelinde 'intime'
ve 'outtime'
farkına dayanılarak saatlik toplam sayısını hesaplamak için çalışıyorum
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',)
s.py dosyası ama erroe üzerinde yükselir. Bence sentaks hatası yapıyorum. Herhangi biri olabilir mi Lütfen bana doğru sözdizimi veya yöntemi nedir? Herhangi bir vücut lütfen bana bunu düzeltmek için ne yapmamı önerir? Eğer bir datetime.time
bir datetime.time
çıkarma olamaz çünkü
Ben emin değilim. İsteğe bağlı olarak döndüren bir yönteme sahip olmak daha iyidir. –
Peki, şablonlarımda nasıl gösterebilirim? Böyle bir işlevi yaptığımı farz edelim, o zaman şablonlarımda kullanıcıya nasıl gösterebilirim? –
Tam olarak aynı şekilde. Modelde bir yöntemse ve argüman almazsa, doğrudan şablondan çağırabilirsiniz. –