Я новичок как в django, так и в python.Как отобразить два списка в шаблоне Django?
Это в коде примера я составил, чтобы проиллюстрировать мою проблему:
Модели
class Book(models.Model):
submitted_by = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='book_subby')
submitted_date = models.DateField(auto_now=True)
book_title = models.CharField(max_length=200)
book_publisher = models.ForeignKey(Publishers)
class Publishers(models.Model):
submitted_by = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='publisher_subby')
submitted_date = models.DateField(auto_now=True)
book_publisher = models.CharField(max_length=200)
Просмотр
def book_list(request):
books = Book.objects.filter(submitted_by=request.user, submitted_date__lte=timezone.now()).order_by('submitted_date')
books_by_publisher =
return render(request, 'book/list_books.html', {
'books': books
})
Шаблон list_books.html
{% for book in books %}
<ul> {{ book.book_publisher }}
<li> {{book.book_title }} </li>
{% endfor %}
Это показывает :
Издатель X
* Книга
Издательство Y
* Книга B
Издательство X
* Книга C
Издатель Y
* Книга D
Я хочу, чтобы отобразить:
Издатель X
* Книга A
* Книга C
Издательство Y
* Книга B
* Книга D
Я попытался сделать мультипликатор для петель в шаблоне, но не мог заставить его работать. Буду признателен, если кто-то может подтолкнуть меня в правильном направлении, как это решить. Спасибо, Andrea
В качестве первого шага вам придется группировать книги издателем на стороне сервера. –
Да, я думал о способах сделать это в представлениях. Любые подсказки, чтобы подтолкнуть меня в правильном направлении? – Andreas
См. Ниже. Вы хотите сгруппироваться на сервере :) –