Как получить доступ к записи таблицы по идентификатору другой таблицы в отношениях многих ко многим в django? - PullRequest
0 голосов
/ 16 сентября 2018

Вот моя модель:

class Movie(models.Model):
    genre = models.ManyToManyField(Genre)

class Genre(models.Model):
    genre_eng = models.CharField(max_length=200)
    def __str__(self):
        return "{}".format(self.genre_eng)

и вот мой метод просмотра:

def info(request, id):
    movie_info = Movie.objects.get(id=id)
    return render(request,'info.html', {'movie_info': movie_info})

Я уже могу напечатать название фильма, например, в файле info.html:

genre : {{movie_info.title}}

Как получить доступ к genre_eng в файле info.html?

каждый фильм может иметь несколько жанров.

1 Ответ

0 голосов
/ 16 сентября 2018

Если вы хотите получить доступ ко всем Жанрам , связанным с Фильмом Экземпляр,
используйте movie_info.genre.all().Если вы хотите получить доступ к genre_eng, используйте .values_list()

def info(request, id):
    movie_info = Movie.objects.get(id=id)
    <b>genre_eng_queryset = movie_info.genre.all()
    genre_eng_values = movie_info.genre.values_list('genre_eng', flat=True)</b>
    return render(request, 'info.html',
                  <b>{'movie_info': movie_info, 'genre_eng_queryset': genre_eng_queryset, 'genre_eng_values': genre_eng_values}</b>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...