๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Django_Web

Django Model/ DB

by ๋„์บ๋ฆฌ๐Ÿฑ 2021. 4. 13.
๋ฐ˜์‘ํ˜•

ํ„ฐ๋ฏธ๋„(๋กœ์ปฌ)ํ™˜๊ฒฝ.

 

- ๋ชจ๋“  Model ๊ฐ์ฒด๋Š” blog/models.py ํŒŒ์ผ์— ์„ ์–ธํ•˜์—ฌ ๋ชจ๋ธ์„ ์ƒ์„ฑํ•œ๋‹ค. 

blog/models.py

models :  Post๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋จ์„ ์žฅ๊ณ ๊ฐ€ ์ธ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

models.ForeignKey : ๋‹ค๋ฅธ ๋ชจ๋ธ์— ๋Œ€ํ•œ ๋งํฌ ์˜๋ฏธ

models.charField : ๊ธ€์ž ์ˆ˜๊ฐ€ ์ œํ•œ๋œ ํ…์ŠคํŠธ

models.TextField : ๊ธ€์ž ์ˆ˜์— ์ œํ•œ์ด ์—†๋Š” ๊ธด ํ…์ŠคํŠธ

models.DateTimeField : ๋‚ ์งœ์™€ ์‹œ๊ฐ„

 

def publish(self): publish ๋ฉ”์„œ๋“œ๋กœ

 

(base) dojiyeong@dojiyeong-ui-MacBookPro ~ % cd /Users/dojiyeong/venv/myvenv/source/firstsite
(base) dojiyeong@dojiyeong-ui-MacBookPro firstsite % source /Users/dojiyeong/venv/myvenv/bin/activate 

(myvenv) (base) dojiyeong@dojiyeong-ui-MacBookPro firstsite % cd firstsite
(myvenv) (base) dojiyeong@dojiyeong-ui-MacBookPro firstsite % cd

(myvenv) (base) dojiyeong@dojiyeong-ui-MacBookPro ~ % cd /Users/dojiyeong/venv/myvenv/source/firstsite

 

 

#(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ƒˆ๋กœ ๋งŒ๋“  ๋ชจ๋ธ Post ๋ชจ๋ธ ์ถ”๊ฐ€/ ์•Œ๋ ค์ฃผ๊ธฐ)
myvenv) (base) dojiyeong@dojiyeong-ui-MacBookPro firstsite % python ./manage.py makemigrations blog
Migrations for 'blog':
  blog/migrations/0001_initial.py
    - Create model Post

(myvenv) (base) dojiyeong@dojiyeong-ui-MacBookPro firstsite % python ./manage.py migrate blog
Operations to perform:
  Apply all migrations: blog
Running migrations:
  Applying blog.0001_initial... OK

# ์Šˆํผ ์œ ์ €(๋‚˜) ๋งŒ๋“ค๊ธฐ
(myvenv) (base) dojiyeong@dojiyeong-ui-MacBookPro firstsite % python ./manage.py createsuperuser
Username (leave blank to use 'dojiyeong'): ใ…ใ…ใ…ใ…ใ…ใ…
Email address: ใ…ใ…ใ…ใ…ใ…ใ…
Password: 
Password (again): 
Superuser created successfully.
(myvenv) (base) dojiyeong@dojiyeong-ui-MacBookPro firstsite % python manage.py runserver       
Performing system checks...

#์žฅ๊ณ  ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์ฝ˜์†”
(myvenv) (base) dojiyeong@dojiyeong-ui-MacBookPro firstsite % python ./manage.py shell
Python 3.9.2 (v3.9.2:1a79785e3e, Feb 19 2021, 09:06:10) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

>>> from blog.models import Post
>>> Post.objects.all()
<QuerySet []>

>>> from django.contrib.auth.models import User
>>> User.objects.all()
<QuerySet [<User: ehwl0129>]>
>>> me = User.objects.get(username='ehwl0129')
>>> Post.objects.create(author=me, title='ํ„ฐ๋ฏธ๋„์—์„œ ์ž…๋ ฅ',text='ํ…Œ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.')
<Post: ํ„ฐ๋ฏธ๋„์—์„œ ์ž…๋ ฅ>
>>> Post.objects.all()
<QuerySet [<Post: ์ฒด๋ฆฌ>, <Post: ํ„ฐ๋ฏธ๋„์—์„œ ์ž…๋ ฅ>]>

>>> Post.objects.create(author=me, title='test',text='ํ…Œ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.')
<Post: test>
>>> Post.objects.all()
<QuerySet [<Post: ์ฒด๋ฆฌ>, <Post: ํ„ฐ๋ฏธ๋„์—์„œ ์ž…๋ ฅ>, <Post: test>]>

 

์œ„์™€ ๊ฐ™์€ ๊ณผ์ •์„ ๋˜‘๊ฐ™์ด 

Pythonanywhere ์ฝ˜์†”์—์„œ ์ง„ํ–‰ํ•˜๋ฉด (git pull ์ง„ํ–‰!)

Pyhonanywhrere/admin ์—์„œ๋„ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€