Open whiteruby02 opened 4 years ago
세미나에서 관련 언급하셨던 부분 일단 한번 다시보는 것을 추천드립니다!
ManytoManyField는 이 과제에서는 사용하지 않고, UserSeminar를 이용해서 구현하게 되는데, 가령, 1번 유저와 2번 seminar가 어떠한 관계를 가지게 되었다고 한다면 UserSeminar.objects.create로 user = 1번유저, seminar = 2번 세미나 를 가진 UserSeminar을 만들어주는 것입니다. 이렇게 만들어진 UserSeminar들의 row가 관계들이라고 할 수 있습니다 만약 UserSeminar.objects.filter(user=1번유저) 로 쿼리를 날린다면 그거는 1번유저와 관계된 세미나를 찾는것과 같겠죠? 이런식으로 구현하시면 될 것 같습니다. 여기서 가운데 테이블을 직접 만들게 된다고 생각하시면 됩니다.
3번은 코드 그림이 없네요; 4번 Response body라고 생각하고 답변 남기겠습니다 이번 과제에서는 onetoonefiled로 user와 instructorprofile, participantprofile을 연결하게 됩니다. User를 커스터마이징 하는 것이 아니라, UserSerializer를 커스터마이징 해서 작업하시면 될 것 같습니다. 혹은 마지막에 data['particiapant']로 할수도 있지만 일단 저는 UserSerializer을 커스터마이징했습니다. User Model이 저렇게 돼야된다!가 아니라 Response body가 저렇게 되어야한다는 것이라는 것을 생각하시고 하시면 될 것 같습니다.
만약 Serializer에 대한 이해가 부족하시다면, 공식문서, 그리고 과제의 serializer들이 어떻게 사용되었는지, 그리고 #162 보시고 과제 시작하시는게 좋을 것 같습니다.
@eldpswp99 넘 감사합니다...
@davin111 저도 답변달면서 공부가 되네요 '-')=b
@eldpswp99 아 정말 감사합니다 덕분에 갈피가 조금 잡혔습니다
assignment2번을 하는 중 질문이 있는데 구글링 해도 잘 보이지 않아 질문합니다ㅠ
2번을 하면서 UserSeminar 클래스를 만들어 user와 seminar를 foreinkey로 정의했습니다.
class UserSeminar(models.Model): user = models.ForeignKey(User, null=True, on_delete=models.CASCADE) seminar = models.ForeignKey(Seminar, null=True, on_delete=models.CASCADE)
class Seminar(models.Model): name = models.CharField(max_length=50, db_index=True) user = models.ForeignKey(User, null=True, on_delete=models.CASCADE)
manytomanyfield를 사용하면, Seminar 정의에서 through로 UserSeminar클래스로 연결하면 되는것 까진 알겠는데 Foreinkey로 사용하였을 때는 어떻게 UserSEminar로 연결해야하는지 모르겠습니다ㅠㅠ
그리고 3번과 4번의 코드 그림처럼 하기 위해서는 User를 customizing 해서 participant, datajoined, instructor, 등의 column을 추가해야할 것 같은데, 이렇게 하는게 맞는지 여쭙고 싶습니다