Я новичок в Django и получаю Q & Проект. Для каждого вопроса у вас может быть несколько тегов, которые уже существуют или помещают новые. Новые теги должны быть созданы до сохранения вопроса. Как я могу решить это правильно? До сих пор у меня есть:Django добавить первичный ключ перед сохранением нового объекта
def question_add(request):
# redirect user to login page if not authenticated
if not request.user.is_authenticated():
return render(request, 'account/login.html')
# if this is a POST request we need to process the form data
if request.method == 'POST':
# create a form instance and populate it with data from the request:
form = QuestionForm(request.POST)
if form.is_valid():
# process the data in form.cleaned_data as required
instance = form.save(commit=False)
instance.created_by = request.user
instance.save()
messages.success(request, 'Question added with success.')
# redirect to the main page:
return HttpResponseRedirect('/')
else:
messages.warning(request, 'Please correct the errors.')
# if a GET (or any other method) we'll create a blank form
else:
form = QuestionForm()
return render(request, 'question/add.html', {'form': form})
Это должно быть сделано перед form.is_valid() или существует ли он волшебный способ сделать это?
Попробуйте в файле 'form.is_valid()', между двумя '.save()' функций. –
Примечание: для перенаправления неидентифицированных пользователей вы можете использовать декоратор login_required: https://docs.djangoproject.com/en/1.10/topics/auth/default/#django.contrib.auth.decorators.login_required –
@AdamStarrh : у вас есть пример ...? thx – cwhisperer