파이썬 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 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 |
댓글