2016-11-05 61 views
0

我认为这最好用一点代码解释。请注意,数据之间有点古怪的关系是一种黑客行为,可以使用多对多关系进行内联。有效导入的Django ImportError

的应用 “数据” 具有以下models.py:

from crawler.models import CrawlJoin 

class Website(models.Model): 
    hack = models.ForeignKey(CrawlJoin, null=True, blank=True, editable=False) 

的应用 “履带式” 有以下models.py:

from data.models import Website 

class CrawlJoin(models.Model): 
    pass 

class Crawl(models.Model): 
    websites = models.ManyToManyField(CrawlJoin, through='Website') 

如果我尝试迁移或者履带式或数据,我得到以下错误:

ImportError: cannot import name 'CrawlJoin' 

您知道我该如何解决此问题?据我所知,我不应该得到这个错误...

谢谢。

回答

3

您有循环导入,因为两个模型模块都试图从彼此导入。您可以通过删除导入并在外键中使用字符串来打破循环导入:

hack = models.ForeignKey('crawler.CrawlJoin', null=True, blank=True, editable=False) 
相关问题