2011-05-27 109 views
2

我刚刚得到这个django应用程序(也是一个没有经验的python用户)正在运行并希望能够访问这些模型。将Django模型导入python cli脚本

我有以下几点:

import sys, os 
sys.path.append('/Users/jx/dev/arc/django/second/') 
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' 
from django.db import models 
from testproject.models import Location 
loc=Location.objects.get(name='Joes') 

print loc.name 

但出现以下错误:

Traceback (most recent call last): 
    File "zz.py", line 6, in <module> 
    from testproject.models import Location 
ImportError: No module named testproject.models 

有没有一种方法可以让我确定它是否被正确加载settings.py?还是有一个明显的语法问题? PYTHONPATH应该反映模型的位置(目前不打印os.environ)?

THX

+0

我是一个涂料 - 我没有django项目目录中的脚本。我想这对路径信息是强制性的。 – timpone 2011-05-27 03:37:09

回答

2
  1. 确保已将包含testproject文件夹的文件夹添加到sys.path。 例如,如果您有以下结构​​就应该添加/foo/barsys.path
  2. 确保testproject文件夹中有一个__init__.py文件(可以为空)。
1

如果没有加载您的设置正确,则from django.db import models就失败了。因为它是,您的testproject包未找到;将包含testproject/的目录添加到sys.path。

6

Django支持创建自定义django-admin命令(documentation)。

对创建访问模型的命令行脚本非常有用。

+0

thx,看起来很有帮助 – timpone 2011-05-27 17:05:36