🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

모델 관련해서 질문이 있습니다.

22.07.12 11:44 작성 조회수 120

0

안녕하세요 강사님!
개인프로젝트를 만들고 있는데 실례가 안된다면 간단한 질문드려도 될까요??
 
제가 프로젝트에서 신고기능을 만들고 있는데요, 모델을 이렇게 만드는게 맞는지 모르겠어서 여쭤봅니다..
신고기능은 유저신고, 댓글신고, 대댓글 신고가 있습니다.
user, comment, recooment모두 외래키로 받아와야 해서 아래 캡쳐사진과 같이 다 따로 작성했는데요
코드 중복이 너무 많이 있는 것 같아서 이게 맞는지 모르겠습니다..!
 
코드중복 문제 때문에 제가 생각한 다른 방법은
Report라는 모델을 만들고
거기에 신고대상인 user, comment, recomment 필드를 만들어서 user가 신고되었을 경우엔 나머지 필드를 null로 처리해주는 방법을 생각했습니다.
혹시 이 방법 외에도 다른 좋은 방법이 있을까요?
 
추가적으로 캡쳐사진처럼 모델을 다 나눠서 적는게 보통 개발하는 방법인가요?
개인프로젝트인데 질문드려 죄송하고 감사합니다ㅠㅠ

답변 1

답변을 작성해보세요.

1

안녕하세요.

동일한 모델필드를 가지는 모델 클래스가 다수 있을 경우, 모델의 abstract 기능을 활용해보실 수 있습니다.

https://docs.djangoproject.com/en/4.0/topics/db/models/#abstract-base-classes

user, report_content 필드를 상위 abstract model로 생성하고, UserReport, CommentReport, ReCommentreport 에서는 이 abstract model을 상속받고, 각각 reported_user, reported_comment, reported_recomment 필드만 정의하는 거죠.

화이팅입니다. :-)

hwk님의 프로필

hwk

질문자

2022.07.12

정말 감사합니다 선생님!!!!

채널톡 아이콘