github에서 전체 코드를 받았는데 문제가 없어도 서버가 정상적으로 작동했습니다. 그러나 나는 model.py
에 새로운 클래스를 추가하고 admin.py
로 가져 오려는 것처럼 이와 같은 오류가있어 일부 변경을 시도 : 나는이 전에 마이그레이션을했다, 물론ImportError : 이름을 가져올 수 없으며 클래스를 가져올 수 없습니다.
ImportError: cannot import name TechnicalExamination.
을 python manage.py makemigrations
를 사용하여 python manage.py migrate
. 여기
class HealthExamination(models.Model):
class Meta:
verbose_name_plural = 'Health Examinations'
doctor = models.CharField(max_length=70)
person = models.ForeignKey(Person, on_delete=models.CASCADE)
start_date = models.DateField()
end_date = models.DateField()
class TechnicalExamination(models.Model):
class Meta:
verbose_name_plural = 'Technical Examinations'
technician = models.CharField(max_length=70)
person = models.ForeignKey(Person, on_delete=models.CASCADE)
start_date = models.DateField()
end_date = models.DateField()
def get_fields(self):
pairs = []
for field in self._meta.fields:
name = field.name
try:
pairs.append((name, getattr(self, "get_%s_display" % name)()))
except AttributeError:
pairs.append((name, getattr(self, name)))
return pairs
def __str__(self):
return str(self.person)
내 admin.py입니다 :
from __future__ import unicode_literals
from django.contrib import admin
from .models import Person, Car, InsuranceCompany, Policy, HealthExamination, TechnicalExamination
admin.site.register(Person)
admin.site.register(Car)
admin.site.register(InsuranceCompany)
admin.site.register(Policy)
admin.site.register(HealthExamination)
admin.site.register(TechnicalExamination)
그리고 여기 내 루트 :
'TechnicalExamination'과 같은 소리는 다른 클래스와 동일한 수준에서 정의되지 않습니다. –
TechnicalExamination은 HealthExaminations와 같은 models.py에 있습니다. 그러나 첫 번째 기능은 작동하지 않으며 두 번째 기능은 작동하지 않습니다. – Viola
물론,'def __str__'는 질문에 정확하게 들여 쓰기되어 있지 않으므로 파일에 적어도 두 개의 모델을 보여줄 수 있습니까? 그 중 하나와 그 하나? –