我需要帮助,我试图在select
的模板中显示queryset()
,但它无法正常工作。
这是我得到的:
from __future__ import unicode_literals
from django.db import models
# Create your models here.
from django import forms
from activos.models import activos
from activos.forms import activosForm
# Create your models here.
class grupos(models.Model):
nombre_grupo = models.CharField(max_length=100)
frecuencia = models.CharField(max_length=100)
offset = models.CharField(max_length=100)
activos_class = activos()
activos_query = activos.objects.all()
res =str(activos_query)
PORT_CHOICES = (res,res),
nombre_puerto = models.CharField(max_length=100,choices=PORT_CHOICES)
def __unicode__(self):
return self.nombre_grupo
def __str__(self):
return self.nombre_grupo
正如您可以看到我从我的项目中的另一个应用中的usuario
调用activos()
,我想在我的模板中的select
中显示该结果
但是当我这样做时,我得到了这样的东西:
-------------
<QuerySet[<activos:alvaro>, <activos:david>,<activos:daniel>]>
我想要这样的事情:
-----
alvaro
david
daniel
我试图避免编辑此行res =str(activos_query[0])
,但如果我从数据库中删除每个用户,我将获得index error
有没有一种有效的方法呢?
Django版本:1.10.4
修改
grupos views.py
from django.shortcuts import render
from django.conf import settings
from django.core.mail import send_mail
from .forms import gruposModelForm
from .models import grupos
from activos.models import activos
def grupos_test(request):
titulo = "hola"
if request.user.is_authenticated():
titulo = "bienvenido %s" %(request.user)
form = gruposModelForm(request.POST or None)
queryset = grupos.objects.all()
# query_delete = queryset.delete()
context = {
"titulo": titulo,
"form": form,
"queryset": queryset,
"res": res,
}
if form.is_valid():
instance = form.save(commit=False)
nombre_grupo = form.cleaned_data.get("nombre_grupo")
frecuencia = form.cleaned_data.get("frecuencia")
if not instance.nombre_grupo:
instance.nombre_grupo = "PERSONA"
instance.save()
context = {
"titulo": "Gracias %s" %(nombre_grupo)
}
if not nombre_grupo:
context = {
"titulo": "Gracias %s!" %("desconocido"),
"form": form,
}
# form_data = form.cleaned_data
# abc = form_data.get("email")
# abc2 = form_data.get("nombre")
# obj = Registrado.objects.create(email=abc,nombre=abc2)
# context = {
# "titulo": titulo,
# "form": form,
# }
return render(request, "forms5.html", context)
HTML
{{ titulo }}
<hr/>
<br/>
<form method="POST" action="">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Registrame" />
</form>
<p>EXAMPLE</p>
{% for g in queryset %}
<select>{{ g.usuario }}</select>
{% endfor %}
答案 0 :(得分:0)
您只是输出QuerySet
(换句话说,&#34;列表&#34;模型对象)。在模板中运行for
循环以取出每个循环。
示例强>
{% for g in grupos %}
<select>{{ g }}</select>
{% endif %}