Substitution de la méthode dans Django ModelForm

J'ai de la difficulté du remplacement d'une ModelForm méthode de sauvegarde. C'est l'erreur que je reçois:

Exception Type:     TypeError  
Exception Value:    save() got an unexpected keyword argument 'commit'

Mes intentions sont d'avoir un formulaire de présenter de nombreuses valeurs pour les 3 zones, pour ensuite créer un objet pour chaque combinaison de ces champs, et pour enregistrer chacun de ces objets. Utile coup de pouce dans la bonne direction serait ace.

Fichier models.py

class CallResultType(models.Model):
    id = models.AutoField(db_column='icontact_result_code_type_id', primary_key=True)
    callResult = models.ForeignKey('CallResult', db_column='icontact_result_code_id')
    campaign = models.ForeignKey('Campaign', db_column='icampaign_id')
    callType = models.ForeignKey('CallType', db_column='icall_type_id')
    agent = models.BooleanField(db_column='bagent', default=True)
    teamLeader = models.BooleanField(db_column='bTeamLeader', default=True)
    active = models.BooleanField(db_column='bactive', default=True)

Fichier forms.py

from django.forms import ModelForm, ModelMultipleChoiceField
from callresults.models import *

class CallResultTypeForm(ModelForm):
    callResult = ModelMultipleChoiceField(queryset=CallResult.objects.all())
    campaign = ModelMultipleChoiceField(queryset=Campaign.objects.all())
    callType = ModelMultipleChoiceField(queryset=CallType.objects.all())

    def save(self, force_insert=False, force_update=False):
        for cr in self.callResult:
            for c in self.campain:
                for ct in self.callType:
                    m = CallResultType(self) # this line is probably wrong
                    m.callResult = cr
                    m.campaign = c
                    m.calltype = ct
                    m.save()

    class Meta:
        model = CallResultType

Fichier admin.py

class CallResultTypeAdmin(admin.ModelAdmin):
    form = CallResultTypeForm
  • Juste pour clarifier, vous souhaitez enregistrer un CallResultType pour chaque appel, pour chaque callResult, pour chaque campagne?
InformationsquelleAutor Josh Smeaton | 2009-05-03