๐ฅ ์กฐํ(READ)
๐ฅ ์์ฑ(CREATE)
๐ฅ ์์ (Update)
๐ฅ ์ญ์ (Delete)
ORM์ด๋ ๋ชจ๋ธ ํด๋์ค(models.py)๋ฅผ ํตํด ์์ฑํ ํ
์ด๋ธ์ ๋ค๋ฃฐ ์ ์๊ฒํ๋ ๊ธฐ์ ๋ก ์ง์ spl๋ฌธ์ ํตํด ์กฐ์ํ ํ์์์ด python๋ฌธ๋ฒ์ ํตํด DB๋ฅผ ์ ์ด(Create, Read, Update, Delete)ํ ์ ์๊ฒํ๋ ํธ๋ฆฌํ ๊ธฐ์ ์ด์์!
Django Shell์์ ์ด๋ฅผ ์ดํด๋ณด๋๋ก ํ ๊ป์:)
- ๋ชจ๋ ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ : ๐ Notice.objects.all()
- ๋ชจ๋ ๊ฐ์ฒด ์ญ์์ผ๋ก ๊ฐ์ ธ์ค๊ธฐ : ๐ Notice.objects.all().order_by('-pk')
- ๋ชจ๋ ๊ฐ์ฒด ๊ฐฏ์ ํ์ธ : ๐ Notice.objects.count()
- ํน์ ๊ฐ์ฒด ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ : ๐ Notice.objects.get(id=1) ๋๋ ๐ Notice.objects.get(pk=1)
- ์กฐ๊ฑด์ ์ผ์นํ๋ ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ : ๐ Notice.objects.filter()
- viewCount๊ฐ 20์ธ ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ : ๐ Notice.objects.filter(viewCount=20)
- likeCount๊ฐ 5๋ณด๋ค ์์ ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ : ๐ Notice.objects.filter(likeCount__lt=5)
- likeCount๊ฐ 10 ์ด์์ธ ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ : ๐ Notice.objects.filter(likeCount__gte=10)
- title์ด 'test5'์ธ ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ : ๐ Notice.objects.filter(title='test5')
- title์ 'test'๋ฅผ ํฌํจํ ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ : ๐ Notice.objects.filter(title__contains='test')
- ์กฐ๊ฑด์ ์ผ์นํ์ง ์๋ ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ : ๐ Notice.objects.exclude()
- title์ด 'test3'์ธ ๊ฐ์ฒด๋ฅผ ์ ์ธํ๊ณ ๊ฐ์ ธ์ค๊ธฐ : ๐ Notice.objects.exclude(title='test3')
- python shell์ ํตํด์๋ admin site์ ๊ฐ์ด DB์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ ์ ์์ด์.
- ๊ฐ์ฒด์ด๋ฆ.objects.create(ํ๋1='๊ฐ', ํ๋2='๊ฐ', ํ๋3='๊ฐ', ํ๋4='๊ฐ')
- ๐ q= Notice.objects.create(title='test7', likeCount=100, viewCount=100, contents='test7 contents.....')
- shell ์ข ๋ฃ ์ , save() ๋งค์๋๋ก ์ ์ฅํ์ง ์์ผ๋ฉด ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ด์.
- q.save()
- ์์ ์ ์์ ํ row๋ฅผ ์ง์ ํ ๋ค, ๋์ ๋๋ฆฌ๋ฅผ ์์ ํ๋ฏ์ด ์ฒ๋ฆฌํด์ฃผ๋ฉด ๋ฉ๋๋ค.
- test7์ contents ๊ฐ์ 'Hello Django'๋ก ์์ ํด๋ณผ๊ป์:)
- q = Notice.objects.get(title='test7')
- q.contents = 'Hello Django'
- ์์ ํ ๋๋ ๋ฐ๋์ save() ๋งค์๋๋ฅผ ํตํด ์ ์ฅํด์ผ ํฉ๋๋ค.
- q.save() ๐ save()์ํ๋ฉด ์์ ์๋จ
- ๋ฐ์ดํฐ ์ญ์ ๋ฐฉ๋ฒ : ์ญ์ ํ ๊ฐ์ฒด ์ง์ ํ ๊ฐ์ฒด.delete()
- ์ ๋ชฉ์ด 'title7'์ธ ๊ฐ์ฒด ์ญ์
- ๐ q = Notice.objects.get(title='test7') ๐ ์ญ์ ๋์ ์ง์
- ๐ q.delete() ๐ ์ญ์