티스토리 뷰

반응형

🚀  들어가며...

  • 금일 포스팅은 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에 대해 자세히 다뤄보겠습니다!

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함