Я работаю с базой данных Posgtgre sql о фильмах, и у меня есть несколько отношений «многие ко многим», как, например, следующее:
Есть таблица с фильмами и каждый mov ie имеет несколько ключевых слов, а также два фильма могут иметь одно и то же ключевое слово. Для этого у нас есть три таблицы: movies
, keywords
и movies_keywords
.
Таблица с именем movies
не требует пояснений, она содержит заголовок, идентификатор и множество атрибутов, которые mov ie has.
Таблица movies_keywords
имеет два столбца: идентификатор mov ie и идентификатор ключевого слова. Это похоже на «середину», которая соединяет две другие таблицы.
Наконец, таблица keywords
содержит идентификатор ключевого слова и соответствующее ключевое слово.
Проблема заключается в следующем: I ' Я работаю с Django, и мне нужно получить доступ ко всем ключевым словам для одного mov ie, но они не напрямую связаны, есть эта средняя точка, которая не позволяет мне получить доступ к именам. У вас есть идеи, как этого достичь?
Заранее спасибо!
РЕДАКТИРОВАТЬ: это models.py (соответствующая часть)
class Movies(models.Model):
title = models.CharField(max_length=30, blank=True, null=True)
(...)
director_name = models.CharField(max_length=30, blank=True, null=True)
class Meta:
managed = False
db_table = 'movies'
class MoviesKeywords(models.Model):
movie = models.ForeignKey(Movies, models.DO_NOTHING, blank=True, null=True)
keyword = models.ForeignKey(Keywords, models.DO_NOTHING, blank=True, null=True)
class Meta:
managed = False
db_table = 'movies_keywords'
class Keywords(models.Model):
keyword = models.CharField(max_length=30, blank=True, null=True)
class Meta:
managed = False
db_table = 'keywords'
def __str__(self):
return str(self.keyword)