开发者

Importing a Django model into a python cli script

I am just getting this django app (also an inexperienced python user) running and wanted to be able to access the models.

I have the following:

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

but get the following error:

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

Is there a way I can determine whether it is loading the settings.py correctly? Or is there an obvious syntax issue? Should the PYTHONPATH reflect the locations for the models (it currently doesn't if print os.environ)?

thx


Django has support for creating custom django-admin commands (documentation).

Very useful for creating command line scripts that access the model.


  1. Make sure you have added the folder containing testproject folder to sys.path. For example if you have the following structure /foo/bar/testproject/models.py then you should add /foo/bar to sys.path
  2. Make sure the testproject folder has a __init__.py file in it (which can be empty).


If it wasn't loading your settings correctly then from django.db import models would have failed. As it is, your testproject package isn't found; add the directory containing testproject/ to sys.path.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜