당신은 멋쟁이, 우리는 장고쟁이~

0%

DRF Tutorial 2편 - Serialization 모델 생성

Serialization 모델 생성


Creating a model to work with (작업할 모델 생성하기)


이번 튜토리얼의 목적을 위해서, 코드 스니펫을 저장하는 간단한 snippet 모델을 생성하는걸로 시작하겠습니다.


snippet/models.py 파일에서, 아래와 같이 모델을 작성해 줍니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from django.db import models 
from pygments.lexers import get_all_lexers
from pygments.styles import get_all_styles

LEXERS = [item for item in get_all_lexers() if item[1]]
LANGUAGE_CHOICES = sorted([item[1][0], item[0] for item in LEXERS])
STYLE_CHOICES = sorted([(item, item) for item in get_all_styles()])

class Snippet(models.Model):
created = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=100, blank=True, default='')
code = models.TextField()
linenos = models.BooleanField(default=False)
language = models.CharField(choices=LANGUAGE_CHOICES, default='python', max_length=100)
style = models.CharField(choices=STYLE_CHOICES, default='friendly', max_length=100)

class Meta:
ordering = ['created']

get_all_lexers 는 순회 가능한 LEXER 들의 정보를 가지고 있고

get_all_styles 는 순회 가능한 style 들의 정보를 가지고 있습니다.


이 두개를 List Comprehension 을 통해, For 문으로 리스트를 만들어 줍니다


모델을 생성해 주었으니, snippet 모델에 대한 첫번재 migrations 을 생성해 줍니다


그리고 나서, 처음으로 데이터베이스와 동기화를 시켜줍니다.


1
2
python manage.py makemigrations 
python manage.py migrate