FK in Form automatisch füllen und anschließend redirect zur ursprünglichen URL
Verfasst: Mittwoch 4. Dezember 2024, 11:07
Hallo zusammen,
ich habe folgendes Szenario. Ich bin auf der folgenden URL:
Der PK meines Models Verantwortlichkeit ist dadurch ja bekannt (URL z.B.: bgr-cockpit/verantwortlichkeit/1/). Nun möchte ich auf dieser Detailpage ein neues Problem erzeugen lassen über das folgende Form:
Das Problem Model sieht wie folgt aus:
Ich möchte jetzt aber irgendwie direkt den PK aus der URL mitgeben, da ich ja bei der Anlage eines Problems die verantwortlichkeit_id mit angeben muss. Kann man das irgendwie direkt als Parameter übergeben? Wenn ich das Feld als models.Select anlege und im Form dann manuell setze, wird mein Datensatz zumindest erzeugt. Allerdings bekomme ich direkt danach eine Fehlermeldung, sinngemäß "URL nicht korrekt konfiguriert". Muss ich eine success_url angeben? Bei meinem anderen Form musste ich das nicht.
Viele Grüße
gospat
ich habe folgendes Szenario. Ich bin auf der folgenden URL:
Code: Alles auswählen
path('bgr-cockpit/verantwortlichkeit/<int:pk>/', VerantwortlichkeitDetailView.as_view(), name="verantwortlichkeit"),
Code: Alles auswählen
class ProblemForm(forms.ModelForm):
class Meta:
model = Problem
fields = ['zusammenfassung', 'beschreibung']
widgets = {
'zusammenfassung': forms.TextInput(attrs={'class': 'form-control'}),
'beschreibung': forms.Textarea(attrs={'class': 'form-control'}),
}
Code: Alles auswählen
class Problem(models.Model):
verantwortlichkeit = models.ForeignKey(Verantwortlichkeit, on_delete=models.CASCADE)
zusammenfassung = models.CharField(max_length=100)
beschreibung = models.TextField()
ist_geloest = models.BooleanField(verbose_name='gelöst', default=False)
erstellt_am = models.DateTimeField(auto_now_add=True, editable=False)
geaendert_am = models.DateTimeField(auto_now=True, editable=False)
class Meta:
verbose_name_plural = 'Probleme'
def __str__(self):
return f'{self.verantwortlichkeit} | {self.zusammenfassung}'
Viele Grüße
gospat