如何根据时间写入状态输出?
我有一个小问题,即在使用时间方面,如果过了不到一天,那么,如果已经过了一天,则分配状态为“正在等待”('e') ,然后状态为“就绪”(“ rd”)。 这是我的代码的一部分,这里只是创建票证并立即分配“等待”。 如果过了不到一天,如何设置等待状态(“ e”),如果过了一天,则如何设置就绪(“ rd”)状态,请帮助我。预先感谢您的帮助或提示!
class PatientAcceptVisitView(AbsPatientVie
template_name = 'patient/accept_visit.html'
def post(self, request, **kwargs):
context = self.get_context_data(**kwargs)
pk_visit = context.get('pk_visit')
visit = CoreVisit.get(pk=pk_visit)
visit.guid_user_patient = self.request.user.guid_user
visit.type = visit.VISIT_TYPES[2]
visit.date_appointment = timezone.now()
visit.save()
PatientConsultationTicket.objects.create(pk_visit=pk_visit,
creator=self.request.user,
consultation_time=visit.date_visit_start, status='e')
visit_start_as_text = visit.date_visit_start.strftime("%H:%M день %d.%m.%Y")
messages.info(request, f'Вы записались на {visit_start_as_text} к доктору {context.get("doctor")}')
return HttpResponseRedirect(reverse_lazy('patient:visits'))
答案 0 :(得分:0)
您可以将时间增量用于此类任务(Python +3.6):
import datetime
one_day = datetime.timedelta(days=1)
now = datetime.datetime.now()
if now - date_visit_start > one_day:
# ...
else:
# ...
答案 1 :(得分:0)
假设您有一个显示PatientConsultationTicket状态的视图,则可以查看日期,然后在给出响应时更新状态。
所以说您有一个向用户显示票证的方法
from datetime import datetime, timedelta
class TicketDetailView(View):
def get(self, request, **kwargs):
ticket = PatientConsultationTicket.objects.get(pk=kwargs['pk'])
one_day_mark = ticket.created_at + timedelta(days=1)
if datetime.now() > one_day_mark:
ticket.status = 'rd'
ticket.save()
# context and other logic
return render(request, 'patient/ticket_detail.html')