У меня есть текущая проверка в функции записи моей формы, которая проверяет, используется ли уже выбранный фургон. Я хочу знать, есть ли лучший способ сделать это? Поле, для которого я проверяю другие объекты, это "van_used", а атрибут, который van_used хранит из связанной модели (это внешний ключ), это "vanName"
вот функция post из моего класса:
def post(self, request):
"""Take in user data, clean it, and then post it to the database."""
form = self.form_class(request.POST) # pass in the user's that was submitted in form
if form.is_valid():
trip = form.save(commit=False) # create an object so we can clean the data before saving it
first_name = form.cleaned_data['first_name']
last_name = form.cleaned_data['last_name']
trip_start = form.cleaned_data['trip_start']
trip_end = form.cleaned_data['trip_end']
van_used = form.cleaned_data['van_used']
if trips.objects.filter(van_used = form.cleaned_data['van_used']).exists():
messages.warning(request, van_used.vanName + ' is currently in use. Pick another vehicle.' )
return render(request, self.template_name, {'form': form})
Пожалуйста, дайте мне знать о любых предложениях по улучшению, в настоящее время имеющаяся у меня проверка выполняется только тогда, когда пользователь нажимает кнопку "Отправить". Это отклонит форму и заставит их начинать сначала. Я хотел бы иметь немного больше предупреждения пользователю, если это возможно. Заранее спасибо.