URL для перенаправления связанного экземпляра модели django
У меня есть 2 модели с ForeignKey, связанные друг с другом
class Moc(models.Model):
title = models.CharField(max_length=128, blank=False)
scope = models.TextField(max_length=128, blank=False)
....
def __str__(self):
return self.title
class Verifier(models.Model):
moc = models.ForeignKey(Model1, related_name='verifiers' on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE)
approve = models.BooleanField(default=False). reject =
reject = models.BooleanField(default=False)
....
def __str__(self):
return str(self.id)
<
def verifier_signoff_view(request, pk):
verifier = Verifier.objects.get(pk=pk)
form = VerifierSignForm
if request.method == 'POST':
form = VerifierSignForm(request.POST, instance=verifier)
if form.is_valid():
form.save(commit=False)
if verifier.approve is True and verifier.reject is True:
return HttpResponseForbidden('You have either APPROVE or REJECT - operation not allowed!')
else:
form.save()
return redirect('verify_coorinate' pk=verifier.moc_id) # This is where I need help...
else:
return render(request, 'moc/verify_signoff.html', context={'verifier': verifier, 'form': form})
<
<
Вы, вероятно, забыли запятую:
redirect('verify_coorinate', pk=verifier.moc_id) # This is line, where you need help
больше здесь: https://docs.djangoproject.com/en/4.1/topics/http/shortcuts/#redirect
Пожалуйста, попробуйте использовать Django-GCBV. В вашем случае это может быть UpdateView или FormView с SingleObjectMixin подробнее здесь: https://docs.djangoproject.com/en/4.1/ref/class-based-views/generic-editing/#django.views.generic.edit.UpdateView