ユーザーがイベントを作成し、イベントが発生する日付を指定する小さなアプリを作成しています。イベントの日付が過ぎたら、そのイベント インスタンスを削除したいと考えています。私の現在の試みは、イベントページビューでイベントが期限切れになるかどうかをチェックする関数をスローしています。expire_check 関数が正しい方法でチェックしているかどうかはわかりません。また、ビューに関数があるだけでイベントが機能するかどうかもわかりません。
ここに私のビューと期限切れ機能があります:
def event_page(request, name):
event = Event.objects.get(name=name)
check_expiration(event)
if request.method == "POST":
form = GuestForm(request.POST)
if form.is_valid():
Guest = form.save(commit=False)
Guest.event = event
Guest.save()
return redirect(event)
else:
form = GuestForm()
return render(request, "event_page.html", {"form": form, "event": event, })
def check_expiration(event):
now = datetime.datetime.now()
if event.date < now: #if the event date has past
event.delete()
ユーザーから日付を収集し、DateTime フィールドに保存します: date = models.DateField()
さらに詳細が必要な場合はお知らせください。どんな洞察も感謝します、ありがとう!