我从github获得了完整的代码,一切正常,服务器无任何问题地工作。但后来我试图做一些改变,像model.py
添加一个新的类,并试图将其导入到admin.py
我得到了这样的错误:ImportError:无法导入名称,也无法导入类
ImportError: cannot import name TechnicalExamination.
当然,我在此之前没有迁移,使用python manage.py makemigrations
和python manage.py migrate
。
这是我在models.py类:
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在models.py上,就像HealthExaminations一样。但第一个不起作用,第二个起作用。 – Viola
当然,但是'def __str__'在问题中没有正确缩进,那么您能否在文件中至少显示两个模型?一个工作,那个? –