Django
[Django] Django ORM Postgresql 연결하는 법을 알아보자!
chief
2022. 7. 13. 12:00
반응형
🚀 들어가며...
- 금일 포스팅은 postgresql 연결방법과 간단한 select 예제에 대해 알아보겠습니다.
📑 내용
# 장고 프로젝트의 settings.py 에 DATABASES를 수정
DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'sunrise',
'USER': 'postgres',
'PASSWORD': 'af0419',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
# 이미 만들어져있는 테이블 가져오기
- Terminal 창에서 "python manage.py inspectdb > models.py" 작성
python manage.py inspectdb > models.py
# multiple databases 사용시
python manage.py inspectdb - -database = artist_one > report / models_one.py
python manage.py inspectdb - -database = artist_two > report / models_two.py
# SELECT col FROM table_name
database의 값을 갖고 오고싶은 python file에서 아래와 같이 실행합니다.
- 만약 첫번째 row의 id값을 가져오고 싶다면
# import
from sunrise.models import Member
def checkMember(request):
m = Member.objects.all() # (1) member table에 있는 모든 오브젝트를 가져온다.
data = m.values('id')[0] # (2) 가져온 모든 오브젝트에서 컬럼명 'id'인 값들 중 [0] 첫번째 row의 값을 가져온다.
# json 값 가져오기.
# for data in content.get('data'):
t = ""
for k, v in data.items():
if k == 'id':
try:
t = str(data[k])
except KeyError:
print('Nothing')
return HttpResponse(json.dumps(t), content_type='application/json')
결과값 : "hyuna"
+ 장고에서는 QUERY문을 날리지 않고 MODEL 오브젝트를 이용하여 디비에 접근합니다.
🙋🏻♂️ 후기
다음 포스팅에서는 Django ORM 에서의 CRUD에 대해 자세히 다뤄보겠습니다!
반응형