오늘 하루종일 찾다가 질문을 올립니다. 
Forms.py에 2번째 라인 Model 을 import 하는 부분에서 계속 적으로 에러가 발생합니다. 
잘 작동되다가 어느순간부터 importerror가 나는데, 쉽게 잡힐줄 알았던 에러가... 답이 안보이네요.
* 파일들은 모두 같은 디렉터리 안에 있습니다. 

Forms.py // 2번째 라인 문제

from django import forms from . models import CompanyModel #CompanyModel이 임포트가 안됨. class CompanyForm(forms.ModelForm): class Meta: model = CompanyModel fields = ["cmp_name", "cmp_email", "cmp_descript", "slug"] def clean_cmp_name(self): cmp_name = self.cleaned_data.get('cmp_name') # write validation code. return cmp_name

Models.py 
from django.db import models
from django.urls import reverse
from django.db.models.signals import pre_save, post_save
from django.utils.text import slugify
from .views import CmpDetail

# Create your models here.

class CompanyModel(models.Model):
    cmp_name = models.CharField(max_length=100)
    cmp_descript = models.TextField()
    cmp_email = models.EmailField()
    slug = models.SlugField()
    updated = models.DateTimeField(auto_now_add=True, auto_now=False)

    class Meta:
        odering = ["-updated"]

    def __str__(self):
        return self.cmp_name

    def get_absolute_url(self):
        return reverse("CmpDetail", args={"slug":self.slug})

View.py

from django.shortcuts import render
from .forms import CompanyForm
from .models import CompanyModel
from django.contrib.auth.decorators import login_required
from django.views.generic.base import TemplateView
from django.views.generic.detail import DetailView
from django.views.generic.list import ListView


class CmpDetail(DetailView):
    model = CompanyModel

class CmpListView(ListView):
    model = CompanyModel

    def get_queryset(self, *args, **kwargs):
        qs = super(CmpListView, self).get_queryset(*args, **kwargs)
        print(qs)
        print(qs.first())
        return qs

ERRORPAGE : Models.py가 임포트가 안된다는것 같은데... 답이 없네요. 

  

 File "", line 994, in _gcd_import
  File "", line 971, in _find_and_load
  File "", line 955, in _find_and_load_unlocked
  File "", line 665, in _load_unlocked
  File "", line 678, in exec_module
  File "", line 219, in _call_with_frames_removed
  File "c:\Projects\keras_talk\My_Django_Stuff\djmod\company\models.py", line 5, in 
    from .views import CmpDetail
  File "c:\Projects\keras_talk\My_Django_Stuff\djmod\company\views.py", line 2, in 
    from .forms import CompanyForm
  File "c:\Projects\keras_talk\My_Django_Stuff\djmod\company\forms.py", line 2, in 
    from . models import CompanyModel
ImportError: cannot import name 'CompanyModel'

좋은 의견 있으면 부탁드립니다. 





AskDjango의 이진석 님께서 답변을 주셨습니다. 

에러는 생각 이상으로 쉽게 잡혔네요... 


Models.py에 


from .views import CmpDetail 부분을 참조 시킨것에서 문제가 발생 했습니다. 

순환참조라고 하는데... 파이썬에서는 기능들을 이것저것 막 가져다 붙이면 문제가 발생하는 군요.. ㅋ 


혹시 ImportError가 발생하였다면 모델.py에 필요없는 부분이 임포트가 되었는지 확인해 보시기 바랍니다. 


from .views import CmpDetail