[Westagram] : Modeling

Kiyong Lee·2021년 9월 28일
0

Django

목록 보기
11/35
post-custom-banner

과제


1. 모델링 전 생각

그 외 개인정보는 생일을 받고, 생일은 입력해도 되고 안해도 될 수 있게 설정하기로 했다.

나머지는 구현하되, 이메일이 중복되면 안되므로 이메일에 PK값을 주기로 함


2. 모델링 구현

from django.db import models

# Create your models here.
class Users(models.Model) :
    name 	      = models.CharField(max_length=20)
    email             = models.EmailField(max_length=120, primary_key=True)
    password  	      = models.CharField(max_length=400)
    tel               = models.CharField(max_length=13)
    birthday 	      = models.DateField(blank=True, null=True)

    class Meta :
        
        db_table = 'users'

3. 멘토님 피드백


4. 최종

from django.db            import models

class Users(models.Model) :
    name       = models.CharField(max_length=50)
    email      = models.EmailField(max_length=50, unique=True)
    password   = models.CharField(max_length=500)
    telephone  = models.CharField(max_length=15)
    birthday   = models.DateField(null=True, blank=True)
    updated_at = models.DateTimeField(auto_now=True)
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta :
        db_table = 'users'

5. 후기

불필요한 주석은 모델 위의 그 주석이었고, email에 unique 속성을 추가한 건
pk는 id로 관리하는 것이 나중에 rest api를 사용하여 프로젝트를 하는 것이 편하기에 그렇다.

또한 tel처럼 줄임으로 쓰지 않고, 풀로 쓰는 게 더 직관적이고 알아보기 쉬우며

auto_now , auto_now_add의 경우 _add는 만들어진 시간을 고정으로 저장해주고,
auto_now는 수정될 때 마다 갱신이 된다.

profile
ISTJ인 K-개발자
post-custom-banner

0개의 댓글