当前位置: 首页 > 知识库问答 >
问题:

Django,我在manage.py check或sync.db时收到“错误:模块:无法导入模型”

陶瀚玥
2023-03-14

应用程序添加到“已安装的应用程序”部分后,我无法进行python manage.py检查——它返回一个错误。你能帮我找出我做错了什么吗?

1)控制台窗口,错误@line55models.py

控制台文本:

(py350-dja185-venv)MacBook Pro:recipe_1_1 mac1$python manage.py检查shell回溯(最近一次调用):文件“manage.py”,第10行,从命令行执行(sys.argv)文件“/Users/mac1/Envs/py350-dja185-venv/lib/python3.5/site packages/django/core/management/init.py”,第351行,从命令行执行实用程序.execute()文件“/Users/mac1/Envs/py350-dja185-venv/lib/python3.5/site packages/django/core/management/init.py”,第325行,在执行django.setup()文件/Users/mac1/Envs/py350-dja185-venv/lib/python3.5/site packages/django/init.py”中,第18行,在安装程序中填充(settings.INSTALLED_apps)文件”/Users/mac1/Envs/py350-dja185-venv/lib/python3.5/site packages/django/apps/registry.py”,第108行,在填充app_config.import_models(所有_models)文件/Users/mac1/Envs/py350-dja185-venv/lib/python3.5/site packages/django/apps/config.py中,第198行,在import_models self.models.models_modules=import_module(models_module模块名称)文件中”/Users/mac1/Envs/py350-dja185-venv/lib/python3.5/importlib/init.py”,第126行,在导入模块返回引导程序中。"gcd_导入(名称[级别:,包,级别)文件“”,第986行,在"gcd_导入文件"中,第969行,在"查找和加载文件"中,第958行,在"查找和加载"解锁文件"中,第673行,在"加载〈br〉“,第662行,在exec_模块文件”“中,第222行,在带有框架的调用_中,删除文件“/Users/mac1/Documents/workspace/recipe_1_1/fines/models.py”,第55行,类内配料(models.Model):文件“/Users/mac1/Envs/py350-dja185-venv/lib/python3.5/site packages/django/db/models/base.py”,第308行,在新类中。_prepare()文件“/Users/mac1/Envs/py350-dja185-venv/lib/python3.5/site packages/django/db/models/base.py”,第361行,在_preparecls.doc=“%s(%s)”(cls.name),”(cls.name,”。join(opts.fields中f的f.name))类型错误:序列项7:预期的str实例,找到int

2) 一段代码@models.py为什么在第55行给我一个错误?

36-39 MEASUREMENT_CHOICES = (('шт', 'штук'), ...,)

41 class Recipe(models.Model):
42     recipe_id = models.PositiveIntegerField()
43     meal_id = models.ForeignKey('Meal')
44     ingredient_id = models.ForeignKey('Ingredients', related_name = '+')
45     ingr_quantity = models.PositiveSmallIntegerField()
46     ingr_measurement = models.CharField(max_length = 5, choices = MEASUREMENT_CHOICES)
47     tail = models.CharField(max_length = 35) 

49 SEASON_CHOICES = ((u'01', u'январь'), (u'02', u'февраль'), (u'03', u'март'),
                  (u'04', u'апрель'), (u'05', u'май'), (u'06', u'июнь'),
                  (u'07', u'июль'), (u'08', u'август'), (u'09', u'сентябрь'),
                  (u'10', u'октябрь'), (u'11', u'ноябрь'), (u'12', u'декабрь'),  
                  )

55 class Ingredients(models.Model):
56    ingr_name = models.CharField(max_length = 20)
57    ingr_category = models.ForeignKey('IngrCategory') 
58    calories_raw = models.PositiveSmallIntegerField()
59    calories_boiled = models.PositiveSmallIntegerField()
60    calories_fried = models.PositiveSmallIntegerField()
61    ingr_unit = models.CharField(10)
62    price_in_season = models.DecimalField(7,2)
63    price_in_no_season = models.DecimalField(7,2)
64    price_current = models.DecimalField(7,2)
65    season = models.CharField(max_length = 2, choices = SEASON_CHOICES)

不知怎的,它遍历了类配方,也遍历了上一个类,并在类配料(models.Model)行中给了我一个错误。为什么?

3) eclipse窗口-同一项目,不同的错误类型:

查找文件...完成。导入测试模块...完成。Traceback(最近的调用最后):

非常感谢你的帮助。

共有1个答案

辛健
2023-03-14

问题是没有“max_digits=”和“decimal_places=”

62    price_in_season = models.DecimalField(max_digits = 7, decimal_places = 2)

该字段是Ingredients类中序列的数字7。

 类似资料:
  • 问题内容: 我正在尝试在Mac OSX Lion上设置Node。一切似乎都正常,但是我似乎无法从全局模块文件夹中导入任何模块。我得到了错误 如果我运行this :,得到的响应是: 没错,我的模块确实安装在/ usr / local / lib / node_modules中。但是,当我尝试运行脚本时,却得到以下信息: 我的.bash_profile看起来像这样: 非常感谢您的帮助,我不知道为什么不

  • 使用命令安装模块后,我可以通过在node.js命令行中导入模块,但当我执行以运行代码时,遇到MODULE_NOT_FOUND错误

  • 我是PyCharm的新手,很难将我编写的模块导入Python控制台。如果我尝试导入Python自带的模块,我可以毫无困难地导入该模块,但是如果我尝试导入我编写的模块,我会得到一个导入错误:没有名为“ModuleITriedToImportName”的模块。例如,这里有一个简单的自我编写的模块pickle文件称为“文件pickle”: 如果我尝试在PyCharm Python控制台上“导入pickl

  • 问题内容: 我正在使用centos linux。 我有Django的python 2.6,现在我升级到了python 2.7。 Python 2.6位于/usr/lib/python2.6中。 Python 2.7位于/usr/local/lib/python2.7中。 它们都具有site-packages目录,并且都包含django 1.2。 如果我运行python,我将获得2.7版本。 我的问

  • 关于在ES6中使用导入导出,我得到以下错误: SyntaxError:导出声明只能出现在顶层 我上网找办法解决这个问题,但我做不到。谁能解释一下。我是ES6的新手,特别是导入和导出。(我使用StealJS完全是为了这种东西)谢谢! js文件有: 应用程序JS functions.js

  • 问题内容: 我一直在使用python dns模块。我试图在新的Linux安装上使用它,但该模块未加载。我试图清理并安装,但安装似乎无法正常进行。 更新了python版本和pip版本命令的输出 非常感谢你的帮助。 注意:-我在新计算机上安装了防火墙。我不确定它是否会影响导入。但我试图禁用它,但它似乎仍然无法正常工作。 问题答案: 我遇到了与dnspython相同的问题。 我的解决方案是从他们的官方G