배경 :
-app이 2개(studycafe, accounts)있다.
-studycafe 앱 -> models.py ->ReviewPost라는 class가 있다.
-accounts 앱 -> models.py -> Profile(장고 기본 User과 OneToOne으로 연결된 class)가 있다.
문제 상황 :
" 사용자가 어떠한 리뷰에 좋아요를 누르면 해당 리뷰를 Profile에 있는 like_posts 필드에 저장 "
문제 :
like_posts필드는 ReivewPost와 ManyToMany로 연결되어있어야 하므로 import studycafe.models import ReviewPost 를 하려고 했더니 다음과 같은 오류 발생 (python manage.py makemigrations 명령어 입력시 오류)
like_posts = models.ManyToManyField('ReviewPost', blank=True, related_name='like_users')
ImportError: cannot import name 'ReviewPost' from partially initialized module 'studycafe.models' (most likely due to a circular import)
해결 방안 :
그냥 ReviewPost만 쓰는 것이 아니라 "앱.클래스"인 studycafe.ReviewPost 로 변경하여 해결
like_posts = models.ManyToManyField('studycafe.ReviewPost', blank=True, related_name='like_users')