Frage

Ich versuche, die ID von dem neu erstellten Projekt Objekt zu ziehen, so dass ich den Benutzer auf die Seite umleiten kann das neue Projekt enthält. Gerade jetzt komme ich „‚ProjectAddForm‘Objekt hat kein Attribut‚id‘“.

Ich habe online gelesen, dass dies funktionieren sollte, aber aus irgendeinem Grund ist es nicht.

if request.method == 'POST':
        form = ProjectAddForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('project.views.detail', args=(form.id)))

Forms.py

class ProjectAddForm(forms.ModelForm):

    class Meta:
        model = Project
War es hilfreich?

Lösung

Die save Methode gibt Ihr Modellobjekt. Schnappen Sie sich einen Verweis auf sie und dann müssen Sie das ‚id‘ Sie für Ihre Reverse Umleitung benötigen.

instance = form.save()
return HttpResponseRedirect(reverse('project.views.detail', instance.id))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top