본문 바로가기

Python/Django

(3)
User 모델 확장 User 모델 확장이란? 기존 Django에 내장된 유저에 추가 필드들(성별 등)을 붙여 커스텀마이징 하는 것 - 확장 방식의 종류 1) proxy model 사용하기 2) 하나의 모델을 정의 후, User 모델과 One-to-One 관계 형성 3) AbstractBaseUser 4) AbstractUser - AbstractUser 사용 예 from django.db import models from django.contrib.auth.models import AbstractUser class CustomUser(AbstractUser): ... # 추가 정의 - 실제 사용 예 1) users App 생성 $ python manage.py startapp users 2) settings.py 내에 IN..
DB 모델링 설계 설계 순서 1) 필요한 컬럼들을 정의 2) 각 컬럼별 데이터 타입을 정의 - 키 종류 Primary Key (기본키) : 테이블 내의 데이터를 식별하는 값으로서, Django에서는 id가 디폴트로 지정되어있음 - 직접 지정하는 경우) id = models.AutoField(primary_key=True) Foreignkey (외래키) : 특정 테이블에서 다른 테이블의 기본키를 참조하는 값 1) Many-to-Many 2) Many-to-One 3) One-to-One 지원하는 Field Types - 공통인자 : Null=True/False => Nullable 여부 Fiedl Type Description CharField 작은 문자열 또는 큰 문자열을 위한 스트링 필드 TextField 큰 문자열 필..
Django 의 MTV 패턴 MTV 란? Django 프로젝트 내에서 유저의 요청부터 응답까지 동작하는 방식에 대한 패턴 중의 하나 M (model) : 데이터베이스에 저장되는 데이터 T (template) : 사용자에게 보여지는 부분 V (view) : 실질적으로 프로그램 로직이 동작하여 템플릿에 전달 MTV의 흐름 웹 클라이언트(요청) => View => Model (=> DB) => Template => 웹 클라이언트(응답)