헷갈리는게 넘 많아서 🙉. 기억을 기록하기위해 정리하는 TIL.
detail이 너무 떨어진다 춈춈하게 공부를 해볼까아...?🔍
📍 django 에서 db 접속할 때
$ sqlite3 <db 이름>
.database
.tables
# my_settings.py
from pathlib import Path
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'AIFFEL.db',
}
}
내장 db이기 때문에 database를 이렇게 설정해주어야 shell이랑도 연동되더라...
이걸 못해서 아주 시간을 많이 날렸다 ^^
db browser for sqlite 사용해서 table 먼저 만들어주고 shell로 db 넣어주면 끝! ㅎ힣ㅎㅎ...
첨엔 쫌 짱났는데 쓰다보니 뭔가 mysql보다 훨씬 가볍고 편한느낌?!
📍 게시물 수정할 때 !!
def patch(self, request, question_id):
try:
user = request.user
title = request.GET.get('title')
content = request.GET.get('content')
selected_question = Question.objects.get(id=question_id)
# 해당 질문 작성자가 아니면 수정 불가
if not user == selected_question.user:
return JsonResponse({'Message': 'Unauthorized_User'}, status=401)
selected_question.title = title if title else selected_question.title
selected_question.content = content if content else selected_question.content
selected_question.save()
return JsonResponse({'Message': 'Success!'}, status=201)
except Question.DoesNotExist:
return JsonResponse({'Message': 'Not_Existed_Error'}, status=400)
except KeyError:
return JsonResponse({'Message': 'Key_Error'}, status=400)
📍 그외 모델 작성 시 유의사항
📍 datetime 필드 쓸 때
📍 에러처리
📍 예외처리