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

조회수 1785회

안녕하세요 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)로

하는것이 목표입니다.

어떻게 해야될까요?

1 답변

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

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

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

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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)