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 真实性 ,如果 nobreNone 或空的 (''),与:

一起工作
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)