Вопрос о моделях соединений в Django - PullRequest
0 голосов
/ 14 февраля 2020

Существует две модели:

class Author(models.Model):
    first_name = models.CharField(max_length=150, help_text="Фамилия")
    second_name = models.CharField(blank=True, max_length=150, help_text="Имя")
    third_name = models.CharField(blank=True, max_length=150, help_text="Отчество")

    def __str__(self):
        return '{0} {1} {2}'.format(self.first_name, self.second_name, self.third_name)

    def get_absolute_url(self):
        return reverse('author-detail', args=[str(self.id)])

class Book(models.Model):
    title = models.CharField(max_length=200, help_text="Название книги")
    author = models.ManyToManyField('Author', help_text="Автор")
    year = models.CharField(max_length=4, help_text="Год издания")

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('book-detail', args=[str(self.id)])

На странице с информацией о книге я хочу отобразить ее автора, но то, что у меня не получается:

  <p><strong>Автор:</strong> {{ book.author }}</p>

Также проблема с идентификатором автора. Эта строка прерывается:

{{ author.get_absolute_url }}

1 Ответ

0 голосов
/ 14 февраля 2020

Вы не можете получить доступ к автору этого метода, потому что ваша модель книги связана с автором многие отношения к мамне. Если вам нужно действительно много ко многим, вы должны изменить свой шаблон тега. Вы можете увидеть, как использовать шаблон тега для отношения многие ко многим здесь

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