python - objects.all() query not working -


i trying make form user creation through django. user(henceforth developer) can choose list of supervisors himself registered. problem is, not getting list of supervisors query. when use objects.get(), receive error 2 objects received. means queries getting rows database.

models.py

from django.db import models  class userprofile(models.model):     name = models.charfield(max_length=50,verbose_name="name")     login = models.charfield(max_length=(25),verbose_name="login")     password = models.charfield(max_length=100, verbose_name="password")     phone = models.charfield(max_length=20, verbose_name="phone number", null=true, default=none, blank=true)     born_date = models.datefield(verbose_name="born date" , null=true,default=none, blank=true)     last_connection = models.datetimefield(verbose_name="date of last connection" , null=true, default=none, blank=true)     email = models.emailfield(verbose_name="email")     years_seniority = models.integerfield(verbose_name="seniority", default=0)     date_created = models.datefield(verbose_name="date of birthday", auto_now_add=true)      def __str__(self):         return self.name   class supervisor(userprofile):     specialisation = models.charfield(max_length=50, verbose_name="specialisation")  class developer(userprofile):     supervisor = models.foreignkey(supervisor, verbose_name="supervisor") 

the form view create_developer.py -

from django.shortcuts import render django.http import httpresponse tasksmanager.models import supervisor, developer # view create_developer def page(request):     error = false     # if form has posted     if request.post:         if 'name' in request.post:             name = request.post.get('name', '')         else:             error=true         if 'login' in request.post:             login = request.post.get('login', '')         else:             error=true         if 'password' in request.post:             password = request.post.get('password', '')         else:             error=true         if 'supervisor' in request.post:             supervisor_id = request.post.get('supervisor', '')         else:             error=true         if not error:             supervisor = supervisor.objects.get(id = supervisor_id)             new_dev = developer(name=name, login=login, password=password,supervisor=supervisor)             new_dev.save()             return httpresponse("developer added")         else:             return httpresponse("an error occured")     else:         supervisors_list =  supervisor.objects.all()         return render(request, 'en/public/create_developer.html') 

template create_developer.html

{% extends "base.html" %}     {% block title_html %}         create developer     {% endblock %}     {% block h1 %}         create developer     {% endblock %}     {% block article_content %}         <form method="post" action="{% url 'create_developer' %}" >           <table>             <tr>                 <td>name</td>                 <td>                     <input type="text" name="name" />                 </td>             </tr>              <tr>                 <td>login</td>                 <td>                     <input type="text" name="login" />                 </td>             </tr>              <tr>                 <td>password</td>                 <td>                 <input type="text" name="password" />                 </td>             </tr>              <tr>             <td>supervisor</td>             <td>                 <select name="supervisor">                       {% supervisor in supervisors_list %}                         <option value="{{ supervisor.id }}">{{ supervisor.name}}</option>                     {% endfor %}                 </select>             </td>             </tr>              <tr>                 <td></td>                 <td>                     <input type="submit" value="valid" />                 </td>             </tr>          </table>     </form> {% endblock %} 

the supervisor select list should show list. getting empty list there. output of {{ supervisors_list|length }} zero.

how debug this? enter image description here

you have pass context html:

from django.shortcuts import render django.http import httpresponse tasksmanager.models import supervisor, developer # view create_developer def page(request):     error = false     # if form has posted     if request.post:         if 'name' in request.post:             name = request.post.get('name', '')         else:             error=true         if 'login' in request.post:             login = request.post.get('login', '')         else:             error=true         if 'password' in request.post:             password = request.post.get('password', '')         else:             error=true         if 'supervisor' in request.post:             supervisor_id = request.post.get('supervisor', '')         else:             error=true         if not error:             supervisor = supervisor.objects.get(id = supervisor_id)             new_dev = developer(name=name, login=login, password=password,supervisor=supervisor)             new_dev.save()             return httpresponse("developer added")         else:             return httpresponse("an error occured")     else:         supervisors_list =  supervisor.objects.all()         return render(request, 'en/public/create_developer.html', {'supervisors_list' : supervisors_list}) 

Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -