본문 바로가기

Python_WEB/Tweetme

[Django]The Tweets Model

728x90

CodingEntrepreneurs Django 강의 정리

tweets App 생성>

python manage.py startapp tweets

 

디렉토리 확인>

manage.py
    tweetme2/
    tweets/
        admin.py
        apps.py
        models.py
        tests.py
        views.py
        __init__.py
        migrations/

 

추가된 파일 및 폴더>

migrations 디렉터리 모델 수정시 데이터베이스를 업데이트 하는것을 가능하게 해줄 파일 모음 디렉터리
__init__.py Python Package로 인식하게 할 빈 파일

 

settings.py>

# tweetme2/settings.py

INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "tweets",
]
app을 추가하면 INSTALED_APPS에 추가해준다.

 

models.py>

# tweets/models.py

from django.db import models

# Create your models here.
class Tweet(models.Model):
    # id = models.AutoField(primary_key=True)
    content = models.TextField(blank=True, null=True)
    image = models.FileField(upload_to="images/", blank=True, null=True)

 

일반적 필드 인수>

AutoField 자동적으로 증가하는 IntegerField 의 특별한 타입
primary key는 명시적으로 지정하지 않는 이상 모델에 자동적으로 추가

TextField 임의의 긴 문자열에 사용
필드의 최대 길이( max_length )를 지정해야 할 수도 있지만,
그것은 필드가 양식(form) 안에 표시될 때만 지정하면 됩니다
FileField 파일을 업로드하기 위해 사용

 

일반적 필드 타입>

primary_key True 현재 필드를 모델의 primary key로 설정
primary key로 지정된 필드가 없다면 장고가 자동적으로 이 목적의 필드를 추가

blank True 필드는 양식(form) 안에서 비워두는 것이 허락
False 장고의 양식(form) 검증이 값을 입력하도록 강제한다(기본값)
null True 장고는 빈 NULL 값을 필드를 위한 데이터베이스에 저장
False 기본값
upload_to 업로드 디렉토리와 파일 이름을 설정

 

데이터베이스 반영>

python manage.py makemigrations
python manage.py migrate

 

반응형

'Python_WEB > Tweetme' 카테고리의 다른 글

[Django]Dynamic View into REST API Endpoint  (0) 2020.07.01
[Django]Handling Dynamic Routing  (0) 2020.07.01
[Django]Intro to URL Routing and Dynamic Routing  (0) 2020.06.29
[Django]The Tweets Model  (0) 2020.06.28
[Django]Our Roadmap  (0) 2020.06.28
[Django]Setup Django Project  (0) 2020.06.28