我认为最好用一些代码解释一下。请注意,数据之间的关系有点奇怪,这是使内联处理多对多关系的一种技巧。
应用程序“数据”具有以下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'
您知道我该如何解决吗?据我所知,我不应该得到这个错误...
谢谢你。
您有一个循环导入,因为两个模型模块都试图互相导入。您可以通过删除导入并在外键中使用字符串来中断循环导入:
hack = models.ForeignKey('crawler.CrawlJoin', null=True, blank=True, editable=False)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句