Python Django循环导入错误,试图允许位置访问活动

Python Django循环导入错误,试图允许位置访问活动,python,django,Python,Django,导入错误:无法从部分初始化的模块“vacaplusapi.models.Activity”导入名称“Activity”(很可能是由于循环导入)(/Users/name/project/server/projectname/models/Activity.py) models/activity.py from django.db import models from .activity import Activity class Activity(models.Model): ac

导入错误:无法从部分初始化的模块“vacaplusapi.models.Activity”导入名称“Activity”(很可能是由于循环导入)(/Users/name/project/server/projectname/models/Activity.py)

models/activity.py

from django.db import models  
from .activity import Activity

class Activity(models.Model):

    activity = models.OneToOneField(Activity, on_delete=models.CASCADE)
    description = models.CharField(max_length=255,)
    date = models.DateField(default="0000-00-00",)
    photo = models.ImageField(upload_to=None, height_field=None, width_field=None, max_length=100)
models/location.py

  • 从vacaplusapi.models导入活动
  • 从vacaplusapi.models.vacauser导入vacauser
  • 从django.db导入模型
  • from.vacauser导入vacauser
课程位置(models.Model):


不能从同一模块导入内容,因为此时模块正在加载。无论如何,你不需要这样做。您可以使用
'self'
字符串文字来引用相同的模型,因此:

from django.db import models  

class Activity(models.Model):
    activity = models.OneToOneField(
        'self',
        on_delete=models.CASCADE,
        related_name='activity_reverse'
    )
    # …
来自django.db导入模型的

课堂活动(models.Model):
活动=models.OneToOneField(
“自我”,
在_delete=models.CASCADE上,
相关的\u name='activity\u reverse'
)
#…

但是,我不清楚为什么您使用
OneToOneField
活动中引用
活动
,因为此时模块正在加载。无论如何,你不需要这样做。您可以使用
'self'
字符串文字来引用相同的模型,因此:

from django.db import models  

class Activity(models.Model):
    activity = models.OneToOneField(
        'self',
        on_delete=models.CASCADE,
        related_name='activity_reverse'
    )
    # …
来自django.db导入模型的

课堂活动(models.Model):
活动=models.OneToOneField(
“自我”,
在_delete=models.CASCADE上,
相关的\u name='activity\u reverse'
)
#…

但是,我不清楚您为什么用
OneToOneField

活动中引用
活动
从.Activity导入活动
应该做什么?从.Activity导入活动
应该做什么?