Python ImportError:无法导入名称“Employee”

Python ImportError:无法导入名称“Employee”,python,django,django-models,circular-dependency,circular-reference,Python,Django,Django Models,Circular Dependency,Circular Reference,首先,让我先告诉你们我正在创建一个考勤和工资软件。 我有多个模型,员工是整个体系结构的中心。 不同的应用程序有不同的型号,每款应用程序都存储不同类型的设置LeveSettings、ShiftSetting等 这些模型是员工模型中的外键。 我也有一些隐藏模型来存储任意数据,如余额等。在所有这些模型中,Employee也被导入并用作外键 LeaveSettings和LeaveBalance在一个名为leavemanagement的应用程序中。 员工导入LeaveSettings并具有LeaveSet

首先,让我先告诉你们我正在创建一个考勤和工资软件。 我有多个模型,员工是整个体系结构的中心。 不同的应用程序有不同的型号,每款应用程序都存储不同类型的设置LeveSettings、ShiftSetting等

这些模型是员工模型中的外键。 我也有一些隐藏模型来存储任意数据,如余额等。在所有这些模型中,Employee也被导入并用作外键

LeaveSettings和LeaveBalance在一个名为leavemanagement的应用程序中。 员工导入LeaveSettings并具有LeaveSettings外键 LeaveBalance导入Employee并将其用作外键

这是我得到的错误:

  File "E:\OnTime\mysite\leavemanagement\models\__init__.py", line 4, in <module>
    from leavemanagement.models.model_leavebalance import LeaveBalance
  File "E:\OnTime\mysite\leavemanagement\models\model_leavebalance.py", line 3, in <module>
    from master.models.model_employee import Employee
  File "E:\OnTime\mysite\master\models\__init__.py", line 4, in <module>
    from master.models.model_employee import Employee
  File "E:\OnTime\mysite\master\models\model_employee.py", line 9, in <module>
    from payroll.models.model_months import Months
  File "E:\OnTime\mysite\payroll\models\__init__.py", line 6, in <module>
    from payroll.models.model_reimbursmentdetail import Reimbursement
  File "E:\OnTime\mysite\payroll\models\model_reimbursmentdetail.py", line 1, in <module>
    from master.models.model_employee import Employee
ImportError: cannot import name 'Employee'

如果没有代码,这是很难回答的,但您可能在某个地方有一个循环依赖,在这种情况下,您需要删除它。通常,当包含外键时,您的模型将类似于

from models import Model1

class Model2(models.Model):
   model1 = models.ForeignKey(Model1)
您可以将其替换为:

class Model2(models.Model):
   model1 = models.ForeignKey('Model1')

添加任何可能有帮助的代码,它需要是appname.Model1。