Django forme.enregistrer étape par étape

Disons que j'ai un formulaire d'ajout/modification des produits (dans le champ "utilisateur" ou " être une clé étrangère à mon Utilisateur) déclenchée à partir de deux fonctions d'affichage - ajouter/modifier :

def product_add(request):
    userprofile = UserProfile.objects.get(user=request.user)
    if request.method == 'POST':
        form = ProductAddForm(request.POST, request.FILES,)
        if form.is_valid():
            form.save(user=request.user)
    else:
        form = ProductAddForm()
    return render_to_response('products/product_add.html', {
            'form':form, 'user':request.user,
            }, context_instance=RequestContext(request))

def product_edit(request, id):
    product = get_object_or_404(Product, id=id, user=request.user)
    if product.user.id!=request.user.id:
        raise Http404
    if request.method == 'POST':
        form = ProductAddForm(request.POST, request.FILES, instance=product)
        if form.is_valid():
            form.save(user=request.user)            
    else:
        form = ProductAddForm(instance=product)
    return render_to_response('products/product_edit.html', {
            'form':form, 'user':request.user,
            }, context_instance=RequestContext(request))

Le formulaire d'enregistrement de la méthode se présente comme suit :

def save(self, user, *args, **kwargs):
    self.instance.user = user                           
    post = super(ProductAddForm, self).save(*args, **kwargs)
    post.save()

Quelqu'un peut-il me dire ce qui se passe dans cette méthode d'enregistrement étape par étape ?Pourquoi appelons-nous super sur ce formulaire et quelle est la différence dans l'ensemble du traitement lorsque nous modifier et enregistrer un nouveau produit si la fonction d'appel est le même ?

Avez-vous regardé docs.python.org pour voir ce que le super fonction? docs.python.org/library/functions.html#super Qu'avez-vous appris?
Qu'entendez-vous par "montage"? Voulez-vous dire par "validation"? Une autre caractéristique d'un Formulaire. Ou voulez-vous dire quelque chose d'autre?
Par "2 vues" voulez-vous dire "deux fonctions d'affichage"? Si oui, veuillez mettre à JOUR votre question avec toutes ces informations. S'il vous plaît ARRÊTER l'ajout de commentaires. Veuillez mettre à JOUR la question de contenir TOUS les faits. Ensuite, supprimez les commentaires.

OriginalL'auteur crivateos | 2010-07-01