Как получить название_книги, записанное именем_автора в цикле for
Как получить название книги, которая связана с автором, Я хочу получить имя автора в первой колонке и название книги во второй колонке, запросом authors.objects.all() я получил имя автора, я хочу получить название книги, которая связана с этим автором.
models.py
class Author(models.Model):
author_name = models.CharField(max_length = 100)
def __str__(self):
return self.author_name
class Book(models.Model):
book_title = models.CharField(max_length = 100)
desc = models.TextField(max_length = 300)
authors = models.ManyToManyField(Author, related_name ='author')
def __str__(self):
return self.book_title
def written_by(self):
return ",".join([str(p) for p in self.authors.all() ])
views.py
from .models import Author, Book
# Create your views here.
def manytomany(request):
authors = Author.objects.all()
book = Book.objects.all()
# author_first = Author.objects.get(author_name='Mahesh')
# book_author = author_first.author.all()
book_author = Author.objects.get(id=1).author.all()
context = {
'authors':authors,
'book': book,
'book_author':book_author,
}
return render(request, 'many-to-many.html', context)
HTML
<div class="col-lg-12">
<table class="table table-striped">
<thead>
<tr>
<th>Author Name</th>
<th>Book</th>
</tr>
</thead>
<tbody>
{% for author in authors %}
<tr>
<td>{{ author.author_name }}</td>
{% for j in book_author %}
<td>{{ j }}</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
</div>