首页 文章

Django,我收到“错误:模块:模型无法导入”而manage.py检查或sync.db

提问于
浏览
0

将我的应用程序添加到INSTALLED_APPS部分后,我无法生成 python manage.py check - 它返回错误 . 请你帮我找出我做错了什么?

1)console window with an error @line55 of models.py

控制台的文字:

(py350-dja185-venv)MacBook-Pro:recipe_1_1 mac1 $ python manage.py check shell Traceback(最近一次调用最后一次):文件“manage.py”,第10行,在execute_from_command_line(sys.argv)文件“/ Users /mac1/Envs/py350-dja185-venv/lib/python3.5/site-packages/django/core/management/init.py“,第351行,在execute_from_command_line utility.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行,在安装程序apps.populate(settings.INSTALLED_APPS)文件”/ Users / mac1 / Envs / py350-dja185-venv / lib / python3.5 / site-packages / django / apps / registry.py“,第108行,填充app_config.import_models(all_models)文件”/Users/mac1/Envs/py350-dja185-venv/lib/python3.5/site -packages / django / apps / config.py“,第198行,在import_models中self.models_module = import_module(models_module_name)文件”/ Users / mac1 / Envs / py350-dja185-venv / lib / python 3.5 / importlib / init.py“,第126行,在import_module中返回_bootstrap._gcd_import(name [level:],package,level)文件”“,第986行,在_gcd_import文件”“,第969行,在_find_and_load文件中”“ ,第958行,在_find_and_load_unlocked文件“”,第673行,在_load_unlocked文件“”,第662行,在exec_module文件“”,第222行,在_call_with_frames_removed文件“/ Users / mac1 / Documents / workspace / recipe_1_1 / meal / models . py“,第55行,类成分(models.Model):文件”/Users/mac1/Envs/py350-dja185-venv/lib/python3.5/site-packages/django/db/models/base.py“ ,308行,在新的new_class._prepare()文件“/Users/mac1/Envs/py350-dja185-venv/lib/python3.5/site-packages/django/db/models/base.py”,第361行, in _prepare cls.doc =“%s(%s)”%(cls.name,“,” . join(f.name for opts.fields中的f))TypeError:sequence item 7:expected str instance,int found

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)

不知何故,它通过类Recipe,并通过前一个类,并在 class Ingredients(models.Model) 行给我一个错误 . 为什么?

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

查找文件......完成 . 导入测试模块......完成 . 回溯(最近一次调用最后一次):<...>文件“/Applications/Eclipse.app/Contents/Eclipse/plugins/org.python.pydev_4.3.0.201508182223/pysrc/pydev_runfiles.py”,第813行,在run_tests中引发AssertionError(“无法使用DjangoTestSuiteRunner运行套件,因为它无法导入 . ”)AssertionError:无法使用DjangoTestSuiteRunner运行套件,因为它无法导入 .

非常感谢你的帮助 .

1 回答

  • 1

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

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

    该字段是Ingredients类中序列的第7个 .

相关问题