Django +2 ImportError:无法导入模型

Posted

技术标签:

【中文标题】Django +2 ImportError:无法导入模型【英文标题】:Django +2 ImportError: cannot import model 【发布时间】:2020-06-25 23:41:46 【问题描述】:

您好一直在与 Django 合作,我想与模型建立关系,我有以下结构

关于 posts/models.py

从 django.db 导入模型 类帖子(models.Model):

(跳过属性)

然后在 cmets/model.py 从 django.db 导入模型 从 posts.models 导入帖子

类评论(models.Model):post = models.ForeignKey(Post,on_delete=models.CASCADE,related_name='cmets')

简而言之,我试图将帖子模型导入评论模型,但我得到的错误是 无法从 'posts.models 导入名称 'Post' ,应如何导入帖子模型以避免此问题?

从 post.models 导入 Post ImportError:无法从“posts.models”导入名称“Post”

【问题讨论】:

您的结构和导入语句看起来不错。确保您已保存文件,然后尝试重新启动服务器。 另外,您是否在帖子应用的 admin.py 中添加了您的帖子模型? 请提供代码sn-p。可能是一些非常小的看不见的问题 【参考方案1】:

试试这个,告诉我是否有帮助

from DjangoPost.posts.models import Post

而不是

from posts.models import Post

【讨论】:

ModuleNotFoundError: 没有名为“DjangoPost”的模块 检查此***.com/questions/31406662/…,假设它与您的问题相似【参考方案2】:

如果您还在 post.models 中导入 cmets.models, 这可能是由于循环导入而发生的。试试这个:

from posts import models as posts_models

post = models.ForeignKey(posts_models.Post,on_delete=models.CASCADE,related_name='comments')

【讨论】:

AttributeError: 模块 'posts.models' 没有属性 'Post' 你能分享一下你导入的代码吗 错误与我没有使用的错误导入有关,谢谢

以上是关于Django +2 ImportError:无法导入模型的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 2.7 中出现“ImportError:无法导入名称 HTTPSConnection”错误

from django.urls import path ImportError: cannot import name path

django思维导图

切换到django 3并返回django 2后无法登录Django项目

我无法运行服务器 Django 2.0

我无法从 Django 1.8 升级到 2.0