models.py tôi:Lỗi Loại: không được hỗ trợ loại toán hạng (s) cho -: 'datetime.time' và '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
views.py tôi:
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},)
của tôi 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',)
Thật sự tôi đang cố gắng để tính toán tổng số giờ dựa trên sự khác biệt của 'intime'
và 'outtime'
trong mô hình của tôi s.py tập tin nhưng nó tăng lên trên erroe. Tôi nghĩ rằng tôi đang làm lỗi cú pháp. Ai có thể Vui lòng cho tôi biết cú pháp hoặc phương pháp chính xác là gì? Bất kỳ cơ thể nào cũng đề nghị tôi phải làm gì để sửa chữa nó?
Tôi không chắc chắn lý do tại sao bạn muốn lưu trữ điều này trong một trường, khi nó được tính toán một cách trivially từ trong và ngoài lần. Tốt hơn là nên có phương thức trả về theo yêu cầu. –
Vậy làm thế nào tôi có thể hiển thị nó trong các mẫu của tôi? Giả sử tôi đã thực hiện một chức năng như vậy thì làm thế nào tôi có thể hiển thị nó trong các mẫu của tôi cho người dùng? –
Cũng giống như vậy. Nếu đó là một phương thức trên mô hình và không có đối số, bạn có thể gọi nó trực tiếp từ mẫu. –