Bonjour, pour mon application je dois ajouter les données d'un formulaire qui se nomme DemandeMaintenance dans ma BD.

Voici mon models :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class DemandeMaintenance(models.Model):
    titre = models.CharField(max_length=40)
    username = models.CharField(max_length=40)
    IdEmpl = models.IntegerField(max_length=40)
    description = models.CharField(max_length=40)
    date = models.DateField()
    Note_admin = models.CharField(max_length=40)
    date_traitement = models.DateField()
    Note_traitement = models.CharField(max_length=40)
 
    def __unicode__(self):
        return self.titre
 
    class Meta:
	permissions = (
                ("traiter_demande","Traiter les demandes"),
        )
Mon forms.py :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
class DemandeForm(forms.Form):
    IdEmpl=forms.ModelChoiceField(queryset=Emplacement.objects.only("id_mat"))
    Titre = forms.CharField(max_length=100)
    Description = forms.CharField(widget=forms.Textarea)


Le problème est au niveau de ma vue, la vue pour ajouter les données doit être fausse mais je ne sait pas comment la corriger :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
def maint(request):
   dispo = Emplacement.objects.all()
   mat = Materiel.objects.all	
   if request.method == 'POST':  # S'il s'agit d'une requête POST
        form = DemandeForm(request.POST)  # Nous reprenons les données
	if form.is_valid():
            titre = form.cleaned_data["Titre"]
            description = form.cleaned_data["Description"]
	    IdEmpl = form.cleaned_data["IdEmpl"]
	    form.save()	    
   else: # Si ce n'est pas du POST, c'est probablement une requête GET
        form = DemandeForm()  # Nous créons un formulaire vide
   return render(request, 'inter1/Maintenance.html', locals())


Lorsque je valide sur mon template une fois les champs rentrés j'ai un message d'erreur de ce type :

DemandeForm' object has no attribute 'save'

Merci d'avance.