django ManyToMany 필드 질문 입니다.
조회수 5356회
안녕하세요. 장고 관계형 모델 질문 입니다.
class Actress(models, model):
Actress = models.CharField(max_length=30)
class Movielist(models.Model):
title = models.CharField(max_length=30)
cast = models.CharField(max_length=300)
위 두개의 모델 중 actress필드와 cast 필드를 다대다관계로 만드려고 합니다.
그런데 cast 필드의 데이터가 출연진 모두가 한 컬럼에 저장되어 있습니다. (ex:원빈, 이나영, 조진웅)
이런경우에는 한 컬럼에 있는 cast 필드의 데이터와 Actress 필드를 다대다로 매핑 시킬수 있나요?
가능하다면 어떻게 해야하는지 궁금합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
장고의 Many-to-many relation에 대한 문서를 살펴보시면 좋겠습니다.
이렇게 모델을 구성하고
from django.db import models class Movie(models.Model): title = models.CharField(max_length=30) class Actress(models.Model): title = models.CharField(max_length=100) movies = models.ManyToManyField(Movie)
아래와 같이 관계를 저장하면 됩니다.
>>> m1 = Publication(title='국가대표2') >>> m1.save() >>> m2 = Publication(title='감기') >>> m2.save() >>> m3 = Publication(title='심야의 FM') >>> m3.save() >>> a1 = Article(title='수애') >>> a1.save() >>> a1.movies.add(m1) >>> a1.movies.add(m2) >>> a1.movies.add(m3)
a1.movies.all()
하면 해당 배우의 모든 영화를 가져올 수 있고m1.actress_set.all()
하면 해당 영화의 모든 배우를 가져올 수 있습니다.
댓글 입력