Django 列表视图 get_queryset 未呈现所有对象
Django List View get_queryset not rendering all objects
我有以下 ListView,我也想用它来过滤结果
class Membresias(ListView):
model = Cliente
template_name = 'main/membresias.html'
def get_queryset(self):
nombre = self.request.GET.get('nombre')
if nombre is None:
return Cliente.objects.all()
else:
return Cliente.objects.filter(nombre = nombre).values()
当 'nombre' 变量不是 None 时显示结果,
问题:但是当我将其留空或 None 时,它根本不显示任何记录,根据验证,查询集应该检索所有记录。
这是 html 的一部分 table
<div class = "container">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Nombre</th>
<th scope="col">Email</th>
<th scope="col">Teléfono</th>
<th scope="col">Activo</th>
</tr>
</thead>
<tbody>
{% for cliente in object_list %}
<tr>
<th scope="row"><a href="{{ cliente.get_absolute_url }}">{{cliente.id}}</a></th>
<td>{{cliente.nombre}}</td>
<td>{{cliente.email}}</td>
<td>{{cliente.telefono}}</td>
{% if cliente.activo == False %}
<td><input type="checkbox" readonly class="form-check-input mt-1" id="Estatus" disabled value={{cliente.activo}}></td>
{% else %}
<td><input type="checkbox" readonly class="form-check-input mt-1" checked id="staticEmail" disabled value={{cliente.activo}}></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
您可以检查 nombre
的 真实性 ,如果 nobre
是 None
或空的 (''
),与:
一起工作
class Membresias(ListView):
model = Cliente
template_name = 'main/membresias.html'
def get_queryset(self):
nombre = self.request.GET.get('nombre')
if not nombre:
return Cliente.objects.all()
else:
return Cliente.objects.filter(<strong>nombre=nombre</strong>)
在 return Cliente.objects.filter(nombre = nombre).values()
中,.values()
方法将查询从模型实例转换为 paython 字典,这可能是这里的问题,
尝试删除 .values()
return Cliente.objects.filter(nombre = nombre)
我有以下 ListView,我也想用它来过滤结果
class Membresias(ListView):
model = Cliente
template_name = 'main/membresias.html'
def get_queryset(self):
nombre = self.request.GET.get('nombre')
if nombre is None:
return Cliente.objects.all()
else:
return Cliente.objects.filter(nombre = nombre).values()
当 'nombre' 变量不是 None 时显示结果, 问题:但是当我将其留空或 None 时,它根本不显示任何记录,根据验证,查询集应该检索所有记录。
这是 html 的一部分 table
<div class = "container">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Nombre</th>
<th scope="col">Email</th>
<th scope="col">Teléfono</th>
<th scope="col">Activo</th>
</tr>
</thead>
<tbody>
{% for cliente in object_list %}
<tr>
<th scope="row"><a href="{{ cliente.get_absolute_url }}">{{cliente.id}}</a></th>
<td>{{cliente.nombre}}</td>
<td>{{cliente.email}}</td>
<td>{{cliente.telefono}}</td>
{% if cliente.activo == False %}
<td><input type="checkbox" readonly class="form-check-input mt-1" id="Estatus" disabled value={{cliente.activo}}></td>
{% else %}
<td><input type="checkbox" readonly class="form-check-input mt-1" checked id="staticEmail" disabled value={{cliente.activo}}></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
您可以检查 nombre
的 真实性 ,如果 nobre
是 None
或空的 (''
),与:
class Membresias(ListView):
model = Cliente
template_name = 'main/membresias.html'
def get_queryset(self):
nombre = self.request.GET.get('nombre')
if not nombre:
return Cliente.objects.all()
else:
return Cliente.objects.filter(<strong>nombre=nombre</strong>)
在 return Cliente.objects.filter(nombre = nombre).values()
中,.values()
方法将查询从模型实例转换为 paython 字典,这可能是这里的问题,
尝试删除 .values()
return Cliente.objects.filter(nombre = nombre)