Frame Work/Django (21) 썸네일형 리스트형 django.db.utils.OperationalError: (1060, "Duplicate column name) github 저장소에 올려놓은 코드를 pull을 받고 다시 migrate를 하는 과정에서 에러가 일어났다. showmigrations 명령어는 잘 수행되는 것 같지만 migrate를 줄 때 에러가 일어나니 아무래도 migrate 파일을 다시 사용하는 과정에서 에러가 일어나는 듯 보였다. 처음 생각 난 해결방법은 다음 두 개다. 1. migrate 파일을 지울 것 2. 데이터베이스를 초기화하는 것 두 가지 방법 다 실제 운영 환경이었으면 이런 식으로 처리하는 게 말이나 될까 싶을 정도의 대처방법이지 않을까 하는 의심과 함께 다른 방법이 있지 않을까 찾아봤는데 Django에서는 migrate를 할 때 문제가 일어나는 app에 fake 옵션을 줌으로써 해결할 수 있다는 글을 보았다. $ python manag.. setting.AUTH_USER_MODEL Error AbstractBaseUser를 상속해 makemigrations를 하던 도중 다음과 같은 에러 납니다. 이것저것 알아보다 settings.py 에 셋업 한 커스터마이징 유저 모델을 다른 앱에서 상속받을 수 있게 하라는 글을 발견했습니다. 제 경우에는 다음과 같은 app에서 user를 사용하고 있었습니다. 그래서 커스터마이징 한 유저 모델과 Foregin Key로 설정을 다시 해주었습니다. 이후 makemigrations를 시도하니 정상적으로 실행됩니다. 참조한 stack overflow link stackoverflow.com/questions/55780537/how-to-fix-field-defines-a-relation-with-the-model-auth-user-which-has-been-s/55.. AbstractBaseUserModel 다루기 개요 Django Project를 처음 생성하고 migrate를 시켰을 때 사용자 모델을 입맛대로 조정할 수 있는 방법이 없나 생각하게 되었습니다. 예를 들어 "userid 대신 email이나 phone을 userid로 로그인을 하려면 어떻게 해야 될까" 였는데 결론적으로 사용자 모델을 커스텀하기 위해선 AbstractUser와 AbstractBaseUser가 있다는 내용을 알게 되었습니다. Django에서 제공하는 User Custom Model AbstractUser Model 이 Model을 상속받아 쓰게 되면 password, last_login, username, fist_name, last_name, email 등의 DB Column을 생성합니다. AbstractBaseUser Model 이 .. Django에 Unittest 적용해보기 HTML 삽입 미리보기할 수 없는 소스 Django test를 적용하는 게 맞을까? unit-test를 적용하는 게 맞을까? 개요 이번엔 django에 unittest를 적용해보고 적용하는 과정에서 알았던 내용들을 기록해보려고 한다. 그냥 Django Test를 적용하면 되지 않나? 맞다. Django에서는 Test를 위해 다음과 같은 라이브러리를 제공하고 있었다. from django.test import TestCase class SomthingTest(TestCase): ... 그러나 위와 같이 테스트를 진행하게 될 경우 Django 내부적으로 테스트를 위한 DB를 만들기 때문에 테스트해야 될 케이스가 많은 경우 Test 코드를 실행하고 완료하기까지의 시간이 오래 걸린다. 물론 기존에 사용하고 있는.. django.db.utils.ProgrammingError: (1146, "Table 'app.auth_user' doesn't exist") "app을 새로 생성하고 superuser를 만들려고 했습니다. mysql로 DB를 따로 생성하고 migration 하는 과정에서 제목과 같은 에러가 났습니다." example은 mysql에 생성한 데이터베이스 이름입니다. auth_user 테이블을 못 찾는 것 같다고 합니다. 구글을 통해 검색하면 아래와 같은 과정을 통해 해결이 가능하다고 나옵니다.(www.javaer101.com/en/article/18657080.html) python manage.py makemigrations python managet.py migrate app_name 제 경우엔 해결이 되진 않았습니다. 어쩌나 싶던 도중 app 밑에 migrations 폴더의 파일들을 모두 삭제하고 다시 진행하니 superuser를 다시 생성.. 이전 1 2 3 다음