Vous n'êtes pas identifié(e).
Bonjour,
Certains vont ce dire "encore lui, ont va pas tout lui faire !!", ne vous inquiétez pas j'avance aussi de mon coté mais lentement. Si je poste, c'est que vous êtes ma dernière chance
J'ai un formulaire d'insertion et je voudrais l'id de l'utilisateur qui a rempli/valider le formulaire soi inserer dans la BDD pour ensuite interagir avec, pour cela j'ai:
models.py
class Formulaire(models.Model):
depart=models.ForeignKey(Ville, related_name="depart")
arriver=models.ForeignKey(Ville, related_name="arriver")
date_creation=models.DateTimeField("Date de creation", auto_now_add=True)
date=models.DateField()
heure=models.TimeField()
user=models.ForeignKey(User)
tel=models.CharField(max_length=5)
detail=models.TextField()
code=models.CharField(max_length=10)
vehicule=models.ForeignKey(vehicule, related_name="vehicule")
Mon fichier forms.py
class FormulaireForm(forms.ModelForm):
class Meta:
model = Formulaire
fields=['tel', 'date', 'depart', 'arriver','heure', 'detail','vehicule']
labels={'tel':'tel',
'date':'date',
'depart':'depart',
'arriver':'arriver',
'heure':'heure',
'detail':'detail',
'vehicule':'vehicule',
}
et mon fichier views.py
@login_required
def offre(request):
if request.method == 'POST':
formulaire_form = FormulaireForm(request.POST)
if formulaire_form.is_valid():
formulaire=Formulaire(
tel=formulaire_form.cleaned_data['tel'],
depart=formulaire_form.cleaned_data['depart'],
arriver=formulaire_form.cleaned_data['arriver'],
date=formulaire_form.cleaned_data['date'],
heure=formulaire_form.cleaned_data['heure'],
user=request.user,
detail=formulaire_form.cleaned_data['detail'],
)
print formulaire
formulaire_form.save()
code=aleatoire()
Formulaire.objects.filter(detail=detail).update(code = code)
return HttpResponseRedirect('/blabla/offre') # Redirect after POST
else:
formulaire_form = FormulaireForm()
return render(request, 'blabla/offre.html', { 'formulaire_form': formulaire_form,})
Le souci vient de cette ligne là: user=request.user qui me retourne une erreur de type:
blabla_formulaire.user_id may not be NULL
Pourquoi ???
lorsque je fais un print user, dans la console, je recuperer le nom de l'utilisateur (c'est déjà pas mal)
Merci
Hors ligne
Il faut que tu sauves formulaire et non formulaire_form
Hors ligne
Bonjour,
En effet cela marche mieux. Merci beaucoup.
Hors ligne