django의 db(models.py) 에서 1:N 관계로 하는법을 모르겠습니다


안녕하세요 tryhelloworld 사이트에서 python, django 기초에 대해

공부를 하고 기본적인 강의게시판을 만들어 보려고 합니다.

models.py 에는

class Subject(models.Model):
        subject_name = models.CharField(max_length=20)

        def __str__(self):
                return self.subject_name


class Professor(models.Model):
        professor_name = models.CharField(max_length=10)
        semester = models.Charfield(max_length=15)
        subject = models.ForeignKey(Subject)

        def __str__(self):
                return self.professor_name


class Board(models.Model):

        professor = models.ForeignKey(Professor):

        def __str__(self):
                return self.professor.professor_name

이렇게 있습니다.

여기서는 한 Professor 에는 하나의 Subject 를 가지고 있는 형태(1:1)인데

제가 원하는것은 한 Professor 에 여러개의 Subject 를 가질 수 있는 형태(1:N)로

하는것이 목표입니다.

어떻게 해야될까요?

  • 2016년 06월 01일에 수정됨
    시원한 날만 일하자
  • 2016년 05월 23일에 작성됨

조회수 236


1 답변


좋아요
0
싫어요
채택취소하기

지금 구조가 Professor와 Subject간에 1:1구조가 아닙니다. 지금은 Subject하나에 Professor가 여러개인 1:N구조로 되어 있네요.

우선 class Professorsubject = models.ForeignKey(subject)를 제거하세요.

그리고 class Subjectprofessor = models.ForeignKey(Professor)를 추가하시면 됩니다.

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

  • class Subject 에 professor = models.ForeignKey(Professor) 를 추가하면    wdvvgy   2016.5.24 22:09     

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

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