ajout de données dans BD Python Django
Bonjour, pour mon application je dois ajouter les données d'un formulaire qui se nomme DemandeMaintenance dans ma BD.
Voici mon models :
Code:
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:
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:
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.