I want to show more queries within my html page but it only shows a single object. I do not know how to add more
This is in mysql, html, django1.11 and python 2.7.15
views.py
def administrador(request):
alumno = Alumnos.objects.get(pk=1)
context = { 'alumno': alumno }
mapa = mapas.objects.get(pk=4)
context2 = { 'mapa' : mapa}
competencias = Competencias.objects.get(pk=1)
context3 = { 'competencias' : competencias}
return render(request, 'competencias_app/competencias.html',context)
<form action="/competencia" method="POST">
{% csrf_token %}
<div class="container-alumnos">
<div>
<select id="carrera" name="Carrera">
<option value="1">TICS</option>
<option value="2">Carrera</option>
<option value="3">Carrera</option>
<option value="4">Carrera</option>
<option value="5">Carrera</option>
</select>
</div>
<div>
<select id="Alumno" name="Nombre">
<option value="{{alumno.idAlumnos}}">{{alumno.nombre}}</option>
</select>
</div>
<form action="">
<label for="ID">ID</label>
<input type="input" name="id" disabled value="{{alumno.idAlumnos}}"><br>
<label for="apellidos">Apellidos</label>
<input type="input" name="apellidos" disabled value="{{alumno.apellidos}}"><br>
<label for="Correo">Correo</label>
<input type="input" name="Correo" disabled value="{{alumno.correo}}"><br>
</form>
</div>
<select id="opciones" name="Semana">
<option value="1">Semana 1</option>
<option value="2">Semana 2</option>
<option value="3">Semana 3</option>
<option value="4">Semana 4</option>
<option value="5">Semana 5</option>
</select>
<div class="container-listas">
<select name="OS" size=9>
<option selected value="0"> Elige una opción </option>
<optgroup label="{{mapa.nombre}}">
<option value="1">{{competencias.nombre}}</option>
<option value="2">Nombre Competencia</option>
<option value="3">Nombre Competencia</option>
</optgroup>
<optgroup label="Mapa - Nombre">
<option value="10">Nombre Competencia</option>
<option value="11">Nombre Competencia</option>
<option value="12">Nombre Competencia</option>
</optgroup>
</select>
i need add object mapa and competencias. The object alumno i dont have problem
Advertisement
Answer
User filter instead of get. Because, get returns a single object, but filter returns all matching objects.
def administrador(request):
alumno = Alumnos.objects.filter(pk=1)
mapa = mapas.objects.filter(pk=4)
competencias = Competencias.objects.filter(pk=1)
context = {
'alumno': alumno,
'mapa': mapa,
'competencias': competencias
}
return render(request, 'competencias_app/competencias.html', context)
In your template
For Alumnao,
<select id="alumno" name="alumno">
{% for item in alumno %}
<option value="{{item.id}}">{{item.your_desired_field}}</option>
{% endfor %}
</select>
For mapa,
<select id="mapa" name="mapa">
{% for item in mapa %}
<option value="{{item.id}}">{{item.your_desired_field}}</option>
{% endfor %}
</select>
For competencias,
<select id="competencias" name="competencias">
{% for item in competencias %}
<option value="{{item.id}}">{{item.your_desired_field}}</option>
{% endfor %}
</select>