Django ошибка 'модель' объект не повторяется - PullRequest
0 голосов
/ 30 апреля 2020

Я следую учебнику Django, чтобы наклониться, и я нашел TypeError в / x /. Я не уверен, что я делаю неправильно

вот модель

class articulos(models.Model):
    nombre = models.CharField(max_length=30)
    seccion = models.CharField(max_length=30)
    precio =  models.IntegerField()

вот взгляды

from django.shortcuts import render
from django.http import HttpResponse
from GestionPedido.models import articulos

def buscar(request):

    if request.GET["prd"]:
        #mensaje = "Artículo buscado: %r" %request.GET["prd"]
        producto = request.GET["prd"]

        articulo = articulos.objects.filter(nombre__icontains = producto)

        return render(request, "resultadobusqueda.html", {"articulos":articulos, "query":producto})

    else: 
        mensaje = "No has introducido nada %r"

    return HttpResponse(mensaje)

и вот храм

<html>

<body>

    <p>Estas buscando: <strong>{{query}}</strong></p>

    {% if articulos %}

        <p>Articulos encomtrados {{articulos|length}} articulos</p>

        <ul>

            {% for articulo in articulos %}
                <li>
                    {{articulos.nombre}}
                </li>

            {% endfor %}

        </ul>>

     {% else %} 

        <p>Articulos no encontrado</p>

    {% endif %}




</body>

</html>

он действительно отмечает ошибку {% for articulo in articulos %}

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020
articulo = articulos.objects.filter(nombre__icontains = producto)

return render(request, "resultadobusqueda.html", {"articulos":articulos, "query":producto})

Вы передаете "articulos", модель de, а не "articulo", de queryset.

0 голосов
/ 30 апреля 2020

У вас есть опечатка в

{"articulos":articulos, ...

имя переменной articulo без 's'. Вы передаете модель вместо набора запросов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...