0

Ich möchte das Standardformular von add_view für bestimmte Vorlage in Django Admin aufrufen. Ich werde seine Werte verwenden (die ich von der Vorlage durch das Formular wiederherstelle) und meine Sachen machen. Wie kann ich es nennen?Cant erholen Formular

def add_view(self, request, form_url='', extra_context=None): 
    if request.method == 'POST': 
    form = defaultForm(request.POST) 
    if form.is_valid(): 
     field1= formulario.cleaned.data['field1'] + "\n" 
     #DO MY STUFF 
    else: 
     raise raise ValidationError(_("Error1"), code='Error1') 

return HttpResponseRedirect("/admin/db/table_name/") 

Antwort

1

Modeladmin hat 'get_form' Methode:

... 
     default_form = self.get_form(request) 
     form = default_form(request.POST, request.FILES, instance=None) 
... 

Nehmen Blick docs: https://docs.djangoproject.com/en/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_form

+0

Ausnahme erscheint in --form = self.get_form (request.POST) -. 'QueryDict' Objekt hat kein Attribut 'Benutzer' –

+1

Sorry @EliasMP, 'get_form' zurück Formularklasse, und nicht Formularobjekt, Ich habe die Antwort behoben, sorry wieder. –

+0

Nichts. Du hilfst mir. Jetzt sieht es so aus, als ob es funktioniert, aber wenn ich es versuche: form.is_valid(): gibt 'model_name' zurück Objekt hat kein Attribut 'cleaned_data' @ Anderson-Lima –