J'essayais de passer un paramètre supplémentaire à mon formulaire, qui est une relation d'objet à ForeignKey. Mais ne sais pas pourquoi la forme retourne __init__() got an unexpected keyword argument 'parent'
quand je suis assez sûr qu'il est possible d'envoyer des paramètres supplémentaires à de la forme (c'est à dire ici: Simple form not validating). Ai-je tort ?Le formulaire n'accepte pas les paramètres supplémentaires
def add_video(request):
parent = ParentObject.objects.all()[0]
if request.method == 'POST':
form = VideoForm(data=request.POST, parent=parent)
if form.is_valid():
form.save()
next = reverse('manage_playforward',)
return HttpResponseRedirect(next)
else:
form = VideoForm()
class VideoForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
try:
self.parent = kwargs.pop['parent']
logging.debug(self.parent)
except:
pass
super(VideoForm, self).__init__(*args, **kwargs)
Oui, le code d'origine est plutôt une leçon d'objet en ce sens que c'est une mauvaise idée d'utiliser nu des exceptions. –