전체 글
-
TypeError : Field 'id' expected a number but got <User : User object (1)>Django 2022. 1. 5. 08:32
사이드 프로젝트로 'Zara' 클론 코딩을 하고 있습니다. 그중에서 장바구니 앱을 하던 중에 마주한 에러 메시지에 대해 알아보고자 합니다. 대부분의 에러메세지가 그렇지만 특히 이번 것은 조금만 읽어보면 에러 메시지에 답이 다 담겨 있습니다. 제가 'id'에 해당하는 값(number)을 불러오겠다 하고 그곳에 'User' 객체를 가져와서 생긴 에러 메시지입니다. 장바구니 앱을 처음 작성해본 것이라 지저분하고 불필요한 부분이 많아서 보시기 불편하시겠지만 조금 양해 부탁드립니다. 에러 메시지가 발생한 이유와 어떻게 그리고 왜 이렇게 해결된 건지를 집중적으로 보신다면 좋을 것 같습니다. 장바구니 앱을 모델링한 것입니다. 처음에 유저 1명당 장바구니를 1개만 활성화시키고 싶어서 1:1 관계인 OneToOneFie..
-
UUID vs CharField의 max_lengthPython 2022. 1. 2. 22:38
'ZARA' 사이트를 막 클론코딩하기 시작했을 때인데 모델링하던 중에 주문 앱에서 고유한 값이어야 하는 '주문번호'가 있었습니다. 그런데 이 부분을 CharField로 했어서 중복되지 않는 임의의 문자로 바꿔야 했습니다. 그래서 아래처럼 CharField(max_length=20)로 할 경우와 UUID 중 더 효율적인 방법에 대해 고민하고 찾아봤습니다. 사실 이런 질문을 하신 이유에 대해서 어렴풋이만 그 의도를 짐작할 수 있었어서 다시 한번 여쭤보고 진행을 했습니다. 멘토님께서 조언을 주신 덕분에 'UUID'에 대해 찾아봤습니다. UUID - 36개 문자(32개의 문자와 4개의 하이픈) 8-4-4-4-12 - 가장 많이 쓰이는 버전은 버전4 (시간+랜덤) - 128비트의 숫자, 32자리의 16진수로 표현..
-
Python dictionary get 메소드 vs Django objects get 메소드Python 2022. 1. 2. 01:35
python dictionary get 메소드 딕셔너리의 키에 해당하는 값을 가져올 때 두가지 방법이 있습니다. 1. get() 방식 2. 대괄호 방식 두 가지의 차이점에 대해서도 모른채 코드를 작성했었는데 너무나 부끄럽습니다.. 그래서 오늘 이렇게 정리해서 확실히 알고 코드를 작성해야겠습니다. 키에 해당하는 값이 있을 때는 같은 값을 출력합니다. 그러나 해당 키가 존재하지 않는 키라면 완전 다른 결과를 보여줍니다. 우선 아래의 코드들이 어떤 차이점이 있는지 보시죠. 1. get() 방식 - 값이 있을 때 : 키에 해당하는 값 출력(예시 : 3번째 줄) - 값이 없을 때 : 'None'으로 출력(예시 : 4번째 줄) - 값이 없을 때 : default 값 출력(예시 : 5번째 줄) 2. 대괄호 방식 - ..
-
Django 테이블 이름 변경 및 삭제 후 마이그레이션시 에러Django 2021. 12. 28. 13:08
'NodeNotFoundError', 'No migrations to apply', 'Table doesn't exist' 등의 에러를 한번의 작업으로 맞딱뜨리는 것은 그리 어려운 일이 아니었습니다...ㅎㅎ 그래서 이런 에러들이 왜 발생했고 어떤 이유로 해결된 것인지 차근차근 정리해보고자 합니다. 우선 'postings'라는 앱을 생성하고 models.py 작성을 끝내고 마이그레이션 한 후에 DB를 봤는데 'postings_posting'이라고 되어 있어서 지저분하고 중복된다는 느낌이 강하게 들어서 바꾸고 싶었습니다. 물론 에러가 발생하면 어쩌지 라는 생각도 들었지만 에러가 발생하면 찾아서 해결하면 되겠지라고 생각해서 우선 DB에서 직접 테이블 이름을 바꿔봤습니다. mysql> ALTER TABLE po..
-
Git Command 정리Git & Github 2021. 12. 26. 20:37
Git이란 - 분산형 버전 관리 시스템 (VCS - Version Control System) - 내 컴퓨터가 로컬 저장소가 되서 인터넷이나 중앙 저장소에 문제가 있어서 원상복구 가능 - 프로젝트 파일의 변경 사항을 추적하는 시스템 - 변경 사항에 대해 기록했기에 원하는 시점으로 되돌릴 수 있다. github이란 - Git을 사용하는 프로젝트를 지원하는 오픈소스 웹호스팅 서비스이자 플랫폼(클라우드) - 코드 공유를 통해 협업 가능 git help - 명령어가 기억나지 않을 때 - git help 명령어 : 특정 명령어에 대한 설명을 볼 수 있다. ex) git help diff git init - 터미널에서 프로젝트 폴더로 이동 후 git init 입력하면 .git이라는 파일 생성 - 해당 디렉토리 안의..