@antohabio

Почему не работает list() для QuerySet?

class Publication(models.Model):
    authors = models.ManyToManyField(
        "authors.Author", 
        through="AuthorAffiliation"
        )

class AuthorAffiliation(models.Model):
    author = models.ForeignKey("authors.Author", on_delete=models.CASCADE)

Я пытаюсь сформировать ссылку формата - Авторы, Заголовок публикации, Журнал, год.
Проблема с выводом списка авторов.

@property
    def imprint(self):
            authors = self.authors.all().values_list("title", flat=True)[0:3]
            #print(authors)
            return authors

Принтом в консоли выводит как нужно - имена авторов, а return в шаблоне через {{ publication.imprint}} выводит: <QuerySet ['Автор3', 'Автор2', 'Автор1']>

Применение list() ничего не меняет: ['Автор3', 'Автор2', 'Автор1'].
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Everything_is_bad
Потом что в шаблоне твой publication.imprint надо проитерировать
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы