DJANGO многие к одному

Мне нужна ваша помощь, это действительно элементарно. У меня есть две модели, Autor и Post с отношением многие к одному. У меня проблемы с получением данных на html странице. Я хочу вывести список всех постов для определенного Автора в FOR и кроме этого мне нужно вывести имя и фамилию Автора из FOR.

Я очень ценю вашу помощь.

class Autor(models.Model):
    first_name = models.CharField(max_length=30, null=False, verbose_name='First Name')
    last_name = models.CharField(max_length=30, null=False, verbose_name='Last Name')

    def __str__(self):
        return self.first_name
    
    class Meta:
        db_table = 'autor' 
        verbose_name = 'Autor' 
        verbose_name_plural = 'Autors' 
        ordering = ['id'] 

class Post(models.Model):
    autor = models.ForeignKey(Autor, on_delete=models.CASCADE)
    post = models.CharField(max_length=200, null=False, verbose_name='Post')

    def __str__(self):
        return self.post

    class Meta:
        db_table = 'post' 
        verbose_name = 'Post' 
        verbose_name_plural = 'Posts' 
        ordering = ['id'] ```

Поскольку вы не указываете атрибут related_name в определении ForeignKey, Django автоматически создает related_name, используя имя вашей модели с суффиксом _set, например, если sample_author является экземпляром Author, этот запрос возвращает все посты sample_author:

author_posts = sample_author.post_set.all()

тогда вы можете использовать все посты, которые существуют в результате этого запроса в цикле FOR.

for post in author_posts:
    do something

вне этого цикла вы можете получить доступ к first_name и last_name экземпляра sample_author с помощью sample_author.first_name и sample_author.last_name

.

Вернуться на верх