Django를 처음 세팅하고, models.py에 계정 클래스를 처음 생성해본다는게 user앱이 아닌 프로젝트앱에 코드를 작성하고, settings.py에 프로젝트 이름을 넣어 강제로 migration을 진행했다.
이후 세팅이 잘못되었다는 것을 알게되고, 무작정 파일을 옮기고 삭제하는 등의 수정을 진행했으며 새롭게 migration을 진행하니 같은 모델 함수가 충돌하게 되었다.
마이그레이션 충돌을 해결하기 위해서 유저 앱과 데이터베이스를 삭제하고 진행했지만, 초기화 해버려서 마이그레이션 모듈이 없다고 나왔다.
다시 구글링해서 Django 버전을 확인한 후 강제 재설치를 진행했다.
Error : Conflicting 'usermodel' models in application 'user': <class 'user.models.UserModel'> and <class 'user.migrations.models.UserModel'>.
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete
django-admin startapp user
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('test/', views.base_response, name='first_test'),
path('first/', views.first_view, name='first_view'),
]
python manage.py makemigrations
ModuleNotFoundError: No module named 'django.db.migrations.migration'
python -m django --version
pip install --upgrade --force-reinstall Django==4.0.4
재시도는 성공!
python manage.py makemigrations
python manage.py migrate