Django Ошибка «объект не повторяется» при использовании метода get () - PullRequest
0 голосов
/ 02 апреля 2020

get () метод не работает в Django,

У меня есть модель BlogPost, когда я пытаюсь извлечь данные из этой модели, используя метод get (), который показывает

Ошибка : Объект 'BlogPost' не повторяется

def blog_post_detail(request, slug):
    query = BlogPost.objects.get(slug=slug)
    template_name = 'blog/post.html'
    context = {'query': query}
    return render(request, template_name, context)

Но то же самое работает с использованием метода filter ()

def blog_post_detail(request, slug):
    query = BlogPost.objects.filter(slug=slug)
    template_name = 'blog/post.html'
    context = {'query': query,}
    return render(request, template_name, context)

Примечание: у меня только один пост в BlogPost

Ответы [ 2 ]

2 голосов
/ 02 апреля 2020

Вызов .get() в наборе запросов вернет один экземпляр этой модели. В вашем шаблоне есть значение для l oop, повторяющееся над экземпляром.

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

Ошибка не возникает во время операции .get(). Это происходит, когда вы передаете context в шаблоне. Уверен, что код в вашем шаблоне повторяется по вашему context.query и показывает объект BlogPost.

...