Ich möchte ein neues Objekt herzustellen, sondern warten Eingangs Benutzer es zu erstellen:Django Klon Modellobjekt mit Klasse basiert Create
Ich habe get_form
dieser Ansicht hinzugefügt:
class MyCreateView(CreateView):
def get_form(self, form_class):
form = super(MyCreateManView, self).get_form(form_class)
if self.kwargs['ref']:
new_item = get_object_or_404(models.MyModel, pk = self.kwargs['ref'])
new_item.pk = None
new_item.note = "Copia di " + new_item.note
form = MyForm(instance = new_item)
def form_valid(self, form):
...
Bei dem Verfahren Ich lese den GET-Parameter 'ref' und kompiliere die Formularfelder mit diesen Daten vor.
Aber wenn ich die Daten einreiche, wird die form_valid
Methode nicht ausgeführt und das neue Objekt wird nicht erstellt.
'if form.is_valid(): form = form.save(); context = { "Formular": Formular, }; Rendern Rendern (Anfrage, "app/template.html", Kontext) ' –
Ist es eine klassenbasierte Ansicht oder eine normale Ansicht? Wenn es keine klassenbasierte Ansicht ist, macht 'super (MyCreateManView, self) .form_valid (form)' keinen Sinn. Hast du diesen Code von irgendwo anders und kopiert in Stücken? – AKS