본문 바로가기
파이썬/파이썬기본문법

파이썬 Django Models

by flycoding 2024. 2. 13.
반응형

파이썬 Django Models

Django 모델은 데이터베이스에 있는 표이다.

 

지금까지 이 튜토리얼에서 출력은 Python 또는 HTML 템플릿의 정적 데이터였다.

이제 Django를 통해 프로세스에서 파일을 변경하거나 업로드하지 않고도 데이터 작업을 수행할 수 있는 방법을 알아보겠다.

Django 에서 데이터는 모델이라고 불리는 개체에 생성되며 실제로 데이터베이스의 테이블이다.

 

파이썬 Django Table 생성

모델을 만들려면 /members/폴더의 models.py 파일로 이동한다.

models.py 파일을 열고, Member class 를 작성하여 Member 테이블을 추가하고, 아래 표는 테이블 필드를 설명한다:

my_tennis_club/members/models.py:


from django.db import models

class Member(models.Model):
  firstname = models.CharField(max_length=255)
  lastname = models.CharField(max_length=255)

 

첫 번째 필드(first name)는 텍스트 필드이며 구성원의 이름을 포함한다.
두 번째 필드(성)도 구성원의 성을 가진 텍스트 필드이다.
이름과 성 모두 최대 255자로 설정된다.

 

SQLite Database

우리가 Django 프로젝트를 만들 때, 우리는 빈 SQLite 데이터베이스를 얻었다.
my_tennis_club root 폴더에서 생성되었으며 파일 이름은 db.sqlite3 이다.
기본적으로 Django 프로젝트에서 작성된 모든 모델은 이 데이터베이스에 테이블로 작성된다.

 

파이썬 Django Migrate

이제 models.py 파일에서 모델을 설명한 후에는 명령을 실행하여 데이터베이스에 테이블을 실제로 작성해야 한다.

/my_tennis_club/ 폴더로 이동하여 다음 명령을 실행한다:

py manage.py makemigrations members

 

결과적으로 다음과 같은 출력이 발생한다:

Migrations for 'members':
  members\migrations\0001_initial.py
    - Create model Member

(myworld) C:\Users\Your Name\myworld\my_tennis_club>

 

Django는 변경 사항을 설명하는 파일을 만들고 파일을 /migration/폴더에 저장한다:

my_tennis_club/members/migrations/0001_initial.py:

# Generated by Django 4.1.2 on 2022-10-27 11:14

from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Member',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('firstname', models.CharField(max_length=255)),
                ('lastname', models.CharField(max_length=255)),
            ],
        ),
    ]

 

Django는 테이블에 자동 증분 번호인 id 필드를 삽입한다(첫 번째 레코드는 값 1, 두 번째 레코드 2 등). 이것은 Django의 기본 동작이므로 자신의 id 필드를 설명하여 재정의할 수 있다.

테이블이 아직 생성되지 않았으므로 명령어를 하나 더 실행해야 한다. 그러면 Django는 /migration/폴더의 새 파일 내용을 기반으로 SQL 문을 생성하고 실행한다.

마이그레이션 명령을 실행한다:

py manage.py migrate

 

결과적으로 다음과 같은 출력이 발생한다:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, members, sessions
Running migrations:
  Applying members.0001_initial... OK

(myworld) C:\Users\Your Name\myworld\my_tennis_club>

 

이제 데이터베이스에 구성원 테이블이 있다!

 

파이썬 Django SQL View

참고로 위의 마이그레이션에서 실행된 SQL 문을 볼 수 있다. 마이그레이션 번호를 사용하여 이 명령을 실행하기만 하면 된다:

py manage.py sqlmigrate members 0001

 

결과적으로 다음과 같은 출력이 발생한다:

파이썬 Django SQL View 활용 예제

 

이번 글에서는 파이썬 Django Model을 생성하고 migrate하고 생성한 데이터베이스와 테이블을 SQL구문으로 확인하는 방법에 대해서 살펴보았다.
꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.

모두 화이팅입니다.!!!

 

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

'파이썬 > 파이썬기본문법' 카테고리의 다른 글

파이썬 Django 데이터 수정  (0) 2024.02.15
파이썬 Django 데이터 삽입  (0) 2024.02.14
파이썬 Django Templates  (0) 2024.02.12
파이썬 Django App 만들기  (1) 2024.02.11
파이선 Django 프로젝트 생성  (0) 2024.02.10

댓글