django의 db(models.py) 에서 1:N 관계로 하는법을 모르겠습니다
조회수 1897회
안녕하세요 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 Professor
에subject = models.ForeignKey(subject)
를 제거하세요.그리고
class Subject
에professor = models.ForeignKey(Professor)
를 추가하시면 됩니다.
댓글 입력