以下のビューでは、同じ日付と時刻の会議の作成を禁止します。しかし、とにかく、このコードは、繰り返しの会議を作成します。Djangoビュー:DoesNotExistが機能していない
def new_meeting_board(request):
if User.is_authenticated:
username = request.user.username
else:
return HttpResponseRedirect('/login/board/')
if request.method == 'POST':
form = new_meetingForm(request.POST)
now = datetime.datetime.now()
if form.is_valid():
clash = 1
user = User.objects.get(username = username)
try:
meet_check = meeting.objects.get(date = form.cleaned_data['date'], time = form.cleaned_data['time'])
except meeting.DoesNotExist:
clash = 0
if clash == 1:
form = new_meetingForm()
variables = RequestContext(request, {
'username': username,
'form': form,
})
return render_to_response('new_meeting_board.html', variables)
else:
mem = memo(
snd_username = user,
rcv_username = form.cleaned_data['reciever'],
subject = 'Meeting',
date = str(now.year) + '-' + str(now.month) + '-' + str(now.day),
time = str(now.hour) + ':' + str(now.minute),
)
mem.save()
mee = mem.meeting_set.create(
snd_username = username,
rcv_username = mem.rcv_username,
status_username = '0',
date = form.cleaned_data['date'],
time = form.cleaned_data['time'],
venue = form.cleaned_data['venue'],
)
mee.save()
return HttpResponseRedirect('/dashboard/board/' + username)
else:
form = new_meetingForm()
variables = RequestContext(request, {
'username': username,
'form': form,
})
return render_to_response('new_meeting_board.html', variables)
try/exceptブロック以外の部分は何らかの理由で機能していないようです。助けてください。
あなたはそれが捕まえられていない取得しているエラーを投稿できますか?それはキャッチする必要があります – awwester
エラーは発生しません。フォームデータに「時間」と「日付」が繰り返し発生し、同じタプルデータを持つ会議オブジェクトが存在する場合、clashの値は1のまま残り、 'else'ブロックを実行する必要があります。それは起こらないようです。 –