Как устранить ошибку ManyRelatedManager - PullRequest
0 голосов
/ 08 марта 2020

При работе с django 3.0 передача контекста из представления в шаблон меня смутила. Я не знаю, было ли изменение в методе.

Я сделал это в models.py

from tinymce import HTMLField
from django.db import models
from django.contrib.auth import get_user_model
from django.urls import reverse

user = get_user_model()

class Author(models.Model):
    user = models.OneToOneField(user, on_delete=models.CASCADE)
    thumbnail = models.ImageField()

    def __str__(self):
    return "%s %s" % (self.user.username)


class Category(models.Model):
    title = models.CharField(max_length=250)

    def __str__(self):
        return (self.title)


class Post(models.Model):
    title = models.CharField(max_length=250)
    overview = models.TextField()
    timestamp = models.DateTimeField(auto_now_add=True)
    content = HTMLField()
    comment_count = models.IntegerField(default=0)
    view_count = models.IntegerField(default=0)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)
    thumbnail = models.ImageField()
    categories = models.ManyToManyField(Category)
    featured = models.BooleanField()


    def __str__(self):
        return self.title

    class Meta:
        verbose_name ='The post'
        verbose_name_plural = 'posts'

    def get_absolute_url(self):
        return reverse('post-detail', kwargs={
            'id':self.id
        })

, и это файл view.py

def post(request, id):
    post = get_object_or_404(Post, id=id)
    context = {
        'post':post
    }
    return render(request, 'post.html', context )

и получаю эту ошибку

TypeError at /post/1/
'ManyRelatedManager' object is not iterable
Request Method: GET
Request URL:    http://127.0.0.1:8000/post/1/
Django Version: 3.0.4
Exception Type: TypeError
Exception Value:    
'ManyRelatedManager' object is not iterable

что мне делать

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