ImportError:无法导入名称而无法导入类

问题描述 投票:0回答:1

我从github得到了一个完整的代码,一切都很好,服务器工作没有任何问题。但后来我尝试做一些更改,比如在model.py中添加一个新类并尝试将其导入admin.py我遇到了这样的错误:

ImportError:无法导入名称TechnicalExamination。

当然,我之前使用python manage.py makemigrationspython 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)

这是我的根:

enter image description here

python django import
1个回答
0
投票
  1. 检查迁移文件 - 您应该在操作中包含CreateModel您的TechnicalExamination operations = [ migrations.CreateModel( name='TechnicalExamination', ... 如果迁移文件出现问题,请再次删除迁移目录和makemigration(您可能还需要清除数据库)或使用--fake
  2. 从django shell导入: $python manage.py shell > from your_app_name.models import TechnicalExamination

如果未导入,您可以查看更多详细信息错误消息并进行调试。

  1. 尝试通过from destrict_office.models import TechnicalExamination导入

我在使用.models导入方法时遇到了一些问题,并不清楚导入方法。

© www.soinside.com 2019 - 2024. All rights reserved.