我认为最好用一点代码来解释这一点。请注意,数据之间稍微有点奇怪的关系是一种黑客攻击,可以让内联处理多到多个关系。
应用程序"data“具有以下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'你知道我怎样才能解决这个问题吗?据我所知,我不应该犯这个错误.
谢谢。
发布于 2016-11-05 18:02:22
您有一个循环导入,因为两个模型模块都试图相互导入。您可以通过删除导入并使用外键中的字符串来中断循环导入:
hack = models.ForeignKey('crawler.CrawlJoin', null=True, blank=True, editable=False)https://stackoverflow.com/questions/40441158
复制相似问题