django ManyToMany 필드 질문 입니다.


안녕하세요. 장고 관계형 모델 질문 입니다.

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 필드를 다대다로 매핑 시킬수 있나요?

가능하다면 어떻게 해야하는지 궁금합니다.


조회수 128


1 답변


좋아요
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()하면 해당 영화의 모든 배우를 가져올 수 있습니다.

  • 2016년 09월 05일에 작성됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close