빌딩 스포캔테크: 웹 앱 초기 모델링
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
웹 개발자, 소프트웨어 아키텍트
난이도: 중급 (Django ORM 기초 지식 필요)
핵심 요약
- 5개의 핵심 모델(Event, Link, SocialPlatform, Tag, TechGroup)이 웹 앱의 데이터 구조를 형성
- HandyHelperBaseModel을 상속하여
created_at
,updated_at
필드와 공통 메서드를 공유 - 모델 간 관계: Event는 TechGroup에 속함, TechGroup은 SocialPlatform과 연계
섹션별 세부 요약
1. 모델 개요 및 역할
Event
: 특정 시간에 개최되는 기술 행사 정보 저장TechGroup
: 지역 기술 그룹 관리 (소속 플랫폼, 태그, 링크 포함)SocialPlatform
: Meetup, EventBright 등 외부 플랫폼 연동Tag
: 이벤트/그룹의 속성 분류 (예: "AI", "Python")Link
: 그룹/이벤트 관련 외부 링크 저장
2. HandyHelperBaseModel 상속 구조
created_at
,updated_at
필드 자동 생성model manager
를 통해 복수의 유용한 메서드 제공- 모든 모델이 공통된 데이터 관리 기능 활용
3. 주요 모델의 필드 구조
- Event:
- start_datetime
, end_datetime
필드로 이벤트 시간 관리
- map_link
필드로 지도 위치 정보 저장
- social_platform_id
로 외부 플랫폼 ID 매핑
- TechGroup:
- platform
필드로 SocialPlatform
과 외래키 연결
- icon
필드로 Font Awesome 아이콘 클래스 지정
- SocialPlatform:
- base_url
필드로 외부 플랫폼 기반 URL 저장
- enabled
플래그로 플랫폼 활성화 여부 관리
결론
- 모델 관계 정의는 데이터 일관성과 확장성을 보장
- HandyHelperBaseModel 활용으로 반복 코드 제거 및 유지보수성 향상
- GitHub 저장소에서 최신 코드 확인 가능 (https://github.com)