0
votes

L'objet 'QueryDict' n'a aucun attribut 'utilisateur'

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')


2 commentaires

Montrez-nous la traçabilité de l'erreur complète et plus de code afin que nous puissions tracer les noms impliqués ( req , Demande , formulaire de désignation ...).


Ajout de plus de code, j'espère que cela aidera à tracer l'erreur.


3 Réponses :


0
votes

in vues.py xxx

donc au lieu de formulaire = EmployeeForm (req) Utiliser formulaire = EmployeeForm (Demande) ou < Code> Form = EmployeeForm (demande.user)


4 commentaires

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 ()


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



0
votes

Changer xxx pré>

à p>

form = EmployeeForm(request)


1 commentaires

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



0
votes

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

vues.py xxx


1 commentaires

Il a jeté une autre erreur - - non échoué NULL Stroke: Emp_employee.designation_ID