- Python Django 실무 기초
- 데이터 베이스 관계
- one-to-many
- one-to-one
- many-to-many
- Django shell
- many-to-many 모델등록 및 사용
- Python Django 기초 🐢 | VSCode 기준
1. App / models.py
[Model Intro]
- 모델이 필요한 이유
- 클래스와 인스턴스를 이용한 정보 저장
- db의 필요성 : 데이터 모델링 / 무결성 / 많은 사용자를 위한 동시성 제어 등
[app / models.py]
models.py에서는? 데이터의 key값, 형식, 정보가 갖는 다양한 정보들을 미리 정의해 두는 곳
(sql을 위한 '스키마 정의 + 쿼리 정의' 의 집합체 / db를 쉽게 관리 할 수 있게 해줌)
- In Terminal → python manage.py makemigrations
- app / models.py 에서 만든 필드들을 sql구문으로 만들어 준다
- In Terminal → python manage.py migrate
- 만든 sql구문을 실제로 실행 시켜주는 명령어
👉 이렇게 데이터 베이스 만들고 적용 완료
⚠️맥북 M2는 이 과정에서 tk 오류가 생길 수 있으므로 꼭 brew install python-tk 해줘야 한다.⚠️
[makemigrations]
만들어진 migrations sql 확인하기 = python manage.py sqlmigrate 앱이름 앱 안 migrations-pycache-initial앞 숫자
( 예) python manage.py sqlmigratearticles 0001 )
2. Django models의 field
[app / models.py 에 작성되는 field]
Model field reference | Django 문서 | Django
Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate
docs.djangoproject.com
👉 모든 필드들을 볼 수 있다.
- 대표적인 필드 종류
- CharField() : 짧은 문자열로 TextField 보다 메모리를 아낄 수 있다.
- TextField()
- DateTimeField()
3. admin
관리자 계정 : 사용자들의 데이터 베이스 등을 관리 할 수 있다.
[관리자 계정 생성]
In Terminal → python manage.py createsuperuser
[app / admin.py]
- admin 계정 사용을 위한 등록
- app / admin.py 에서 from .models import models.py에 만들어 놓은 class명 을 임포트 한다 → models.py 에 정의된 필드에 관해서 모두 관리 할 수 있음
- 이후 app / admin.py 에 admin.site.register(임포트 한 class명) 을 적어주면 완료 → createsuperuser 계정으로 직접 관리 할 수 있다
+ 참고 자료
[SQl]
A06 변경사항 저장과 취소
## 변경사항 저장하기 **File** → **Write Changes** 메뉴를 선택하거나 **DB Toolbar**의 **Write Changes** 버튼을 ...
wikidocs.net
[장고 모델]
모델 | Django 문서 | Django
Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate
docs.djangoproject.com
'woncoding > TIL' 카테고리의 다른 글
| TIL | 9.29.목 [Django 기초🐢] (0) | 2022.09.30 |
|---|---|
| TIL | 9.28.수 [Python 장고 / Django 기초🐢] (0) | 2022.09.28 |
| TIL | 9.26.월 [Python 장고 / Django 기초🐢] (0) | 2022.09.26 |
| TIL | 9.23.금 [Python 장고 / Django 기초🐢] (0) | 2022.09.23 |
| TIL | 9.22.목 [Python 장고] (0) | 2022.09.22 |