python管理.pysyncdb无法从模型.py

2024-04-25 13:36:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我没有得到Python管理.pysyncdb为我的模型创建表;这显然是因为在尝试导入我的模型时引发了一个异常,我对该异常有点困惑:

jhayward@jhayward81QDLD1 ~/project
$ python manage.py shell
Python 2.6.5 (r265:79063, Jun 12 2010, 17:07:01)
[GCC 4.3.4 20090804 (release) 1] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import models
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/jhayward/project/models.py", line 23, in <module>
    class architecture(models.Model):
  File "/usr/lib/python2.6/site-packages/django/db/models/base.py", line 48, in
__new__
    kwargs = {"app_label": model_module.__name__.split('.')[-2]}
IndexError: list index out of range
>>>

以未修饰的形式导入模型django.db.型号没用。这个模型.py与我试图从中导入的目录相同;当我将当前目录添加到PYTHONPATH时,它的行为似乎没有任何不同。在

这个错误消息是怎么回事,我需要做些什么来帮助它?在

基本结构模型.py是:

^{pr2}$

Tags: djangoinpy模型projectdbmanagemodels
2条回答

您必须有一个应用程序包(例如myapp),并且模型必须在其中(myapp/模型.py) 然后你可以导入myapp.models公司或从myapp导入模型。在

错误是因为django试图将appname作为包含models模块的包来查找(models模块的路径必须至少有2个深度级别)。在

此外,应用程序必须在已安装的应用程序中声明

模型应该包含在应用程序中,而不是直接包含在项目中。在

相关问题 更多 >