Je travaille actuellement sur mon projet à Django, j'ai besoin de la clé étrangère (désignation) pour être affichée respective à l'utilisateur actuel. Il s'affiche parfaitement comme je le voulais, mais il jette une erreur pendant que je soumettais le formulaire, "QueryDict" objet n'a aucun attribut "utilisateur".
Message d'erreur strong> p> def employee_form(request,id=0):
if request.method == 'GET':
if id == 0:
req = request.user.designation.all()
form = EmployeeForm(req)
else:
employee = Employee.objects.get(pk=id)
if employee in request.user.employee.all():
form = EmployeeForm(request,instance=employee)
else:
return redirect('/employee')
return render(request,'employee-form.html',{'form':form})
else:
if id==0:
form = EmployeeForm(request.POST)
else:
employee = Employee.objects.get(pk=id)
if employee in request.user.employee.all():
form = EmployeeForm(request.POST,instance=employee)
if form.is_valid():
n = form.cleaned_data["name"]
t = Employee(name=n)
t.save()
request.user.employee.add(t)
return redirect('/employee')
3 Réponses :
in vues.py donc au lieu de formulaire = EmployeeForm (req) code> Utiliser formulaire = EmployeeForm (Demande) CODE> ou < Code> Form = EmployeeForm (demande.user) code> p> p>
Merci pour la réponse :), mais j'ai essayé aussi que l'erreur est la même.
Merci pour la réponse, j'ai passé l'argument "demande" et modifié les formulaires.py comme suit, Self.fields ["désignation"]. Queryset = désignation.Object.filter (utilisateur = req.uuser) a toujours le même erreur. Mais la clé étrangère est parfaitement filtrée en fonction de l'utilisateur, tout en soumettant le formulaire, il jette la même erreur.
Ce que vous voulez effectuer sous forme, car le problème est dans la méthode init de formulaire self.fields ["désignation"]. Queryset = req.user.designation.all () code>
J'ai corrigé l'erreur mon frère! ... mais il a jeté une autre erreur, non pas de contrainte null a échoué: Emp_employee.designation_ID
Changer à p> form = EmployeeForm(request)
Merci pour la réponse, j'ai passé l'argument "demande" et modifié les formulaires.py comme suit, Self.fields ["désignation"]. Queryset = désignation.Object.filter (utilisateur = req.uuser) a toujours le même erreur
Merci à tous pour vos réponses. J'ai réussi à éliminer l'erreur. Je n'ai pas transmis l'argument de la demande dans la méthode postale
Il a jeté une autre erreur - - non échoué NULL Stroke: Emp_employee.designation_ID
Montrez-nous la traçabilité de l'erreur complète et plus de code afin que nous puissions tracer les noms impliqués (
req code>,Demande code>,formulaire de désignation code> ...).Ajout de plus de code, j'espère que cela aidera à tracer l'erreur.