Bonjour, pour mon application je dois ajouter les données d'un formulaire qui se nomme DemandeMaintenance dans ma BD.
Voici mon models :
Mon forms.py :
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"), )
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.
Partager