Django/DRF

Django allauth django_site relation does not exist error

Jong_seoung 2023. 12. 2. 13:00
반응형

 django_site relation does not exist error 

django의 allauth 패키지를 이용하여 소셜로그인을 구현하던 중 위와 같은 에러가 발생하였다.

 

발생원인

발생 원인은 allauth를 먼저 마이그레이션 하고 테이블을 생성한 후 django.contrib.sites를 마이그레이션 후 테이블을 생성하여 외래키가 제대로 연결되지 않았던 것이 원인이었던 것 같다.

 

django_site relation does not exist error when when running tests · Issue #1817 · pennersr/django-allauth

I'm running trying to run my tests, but I keep getting the following errors. errors Loading : /Users/guyjacks/projects/one_raft_first_site/.env The .env file has been loaded. See base.py for more i...

github.com

 

해결 방법

1. 우선 가상환경을 전부 지우고 다시 설치하였다.

 - 만약 requirements 파일이 없다면 생성 후 지우는 게 나중에 다시 패키지를 설치할 때 변할 것이다.

 - 아래 명령어를 이용하여 기존에 패키지들을 다시 설치하였다.

pip install -r requirements.txt

2. postgresql에 접속하여 db로 사용하고 있는 데이터데이스를 지우고 다시 생성하였다.

drop database db이름;
create database db이름;

3. 이후 프로젝트를 열고 다시 마이그레이션 후 테이블 생성, 데이터 입력의 절차를 통해 해결하였다.

 

느낀 점

잘 만들어진 패키지에서 하라는 대로 따라 하자, 내 임의로 필요 없다고 생각되는 부분을 생략하고 진행하면 큰일이 일어난다.

 

반응형