모델 생성
1. 모델 클래스 작성
- 앱/models.py에 정의
2. migration 파일 생성
# cmd
python manage.py makemigrations 앱이름
3. migrate 작업
# cmd
python manage.py migrate 앱이름
4. MySQL 설정
pip install mysqlclient
5. 장고쉘에서 데이터 추가, 조회, 수정, 삭제 (CRUD)
장고쉘
# cmd
python manage.py shell
>>> from 앱이름.models import 모델명
> Create - 데이터 추가
- 방법1: Model의 save()
>>> post = 모델명(title='제목', body='내용')
>>> post.save()
- 방법2: Manager의 create()
>>> 모델명.objects.create(title='제목', body='내용')
- 방법3
>>> p1 = 모델명()
>>> p1.title = '제목'
>>> p1.body = '내용'
>>> p1.save()
- 방법4
>>> p2 = 모델명(title='제목', body='내용')
>>> p2.save()
- 방법5: 다른 데이터 가져와서 추가
>>> p3 = 모델명.objects.get(id=1)
>>> p3.title
>>> p3.body
>>> p3.save()
> Read - 데이터 조회
- 방법1: 모두 조회
>>> 모델명.objects.all()
- 방법2: 데이터 안의 내용까지 모두 조회
>>> 모델명.objects.all().values()
>>> 모델명.objects.all().values('필드명')
- 방법3: 데이터 정렬해서 조회
# 특정 필드명 기준으로 오름차순 정렬
>>> 모델명.objects.order_by('필드명')
# 특정 필드명 기준으로 내림차순 정렬
>>> 모델명.objects.order_by('-필드명')
- 방법4: 조건에 맞는 하나의 데이터를 조회
>>> 모델명.objects.get(조건)
- 방법5: 조건에 맞는 여러 데이터를 조회
>>> 모델명.objects.filter(조건)
- 방법6: 조건에 맞는 데이터를 제외하고 조회
>>> 모델명.objects.exclude(조건)
* 조건
필드명_ lookup명 = 값
> Update - 데이터 수정
- 방법1: Model의 save()
>>> post = 모델명.objects.get(title='제목')
>>> post.title = '제목 수정'
>>> post.save()
- 방법2: QuerySet의 update()
>>> qs = 모델명.objects.filter(title='제목')
>>> qs.update(title='제목 수정', region='지역')
> Delete - 데이터 삭제
- 방법1: Model의 delete()
>>> post = 모델명.objects.get(title='제목')
>>> post.delete()
- 방법2: QuerySet의 delete()
>>> qs = 모델명.objects.filter(title='제목')
>>> qs.delete()
'web > Django' 카테고리의 다른 글
[Django] 장고 모델 관계 이름 (0) | 2024.05.22 |
---|---|
[Django] 장고 모델 관계 설정 (0) | 2024.05.22 |
[Django] 장고 Model: 모델 생성 - admin 앱에서 데이터 조작(2) (0) | 2024.05.22 |
[Django] 장고 프로젝트(Django Project) (0) | 2024.05.21 |
[Django] Django(장고) 시작하기 (0) | 2024.05.20 |