Witosser
@Witosser
студент IT ВУЗа, увлекаюсь веб-разработкой

Почему не выводится поле модели связанного объекта?

Так я вывожу в шаблоне
{% for library in librarys %}
   <b> {{ library }}</b>  <br/>
    {% for book in library.book.all %}
    {{ book.author }} - {{ book.title }}<br>
        {% endfor %}
 {% endfor %}

так это выглядит:
5a27b22159610987759517.png
код моделей:

class Author(models.Model):
    name = models.CharField(max_length= 200)
    def __str__(self):
        return self.name

class Book(models.Model):
    title = models.CharField(max_length= 200)
    author = models.ManyToManyField(Author, max_length= 200)
    def __str__(self):
        return self.title

class Library(models.Model):
    name = models.CharField(max_length=200)
    book = models.ManyToManyField(Book, blank=True)
    def __str__(self):
        return self.name


Код представления:
def library(request):
    librarys = Library.objects.all()
    books = Book.objects.all()
    authors = Author.objects.all()
    return render(request, 'library.html', {'librarys': librarys, "books": books, 'authors': authors})


Что я делаю не так?
Все поля авторов заполнены.
Если я вывожу их напрямую, не через связанные объекты всё отлично выводится
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
fox_12
@fox_12 Куратор тега Django
Расставляю биты, управляю заряженными частицами
Потому что поле book.author у вас ManyToManyField. По нему тоже надо тогда пробежаться
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы