Post navigation

Using Django models in external Python scripts

Since Django 1.4 the syntax to import you models in external scripts has changed. The setup_environ method has been deprecated for a while and it no longer exists in Django 1.6.

Assuming you’re using a virtualenv and your script is one directory outside the main Django project directory structure.

my_directory/
  |
  |---> virtualenv/
  |---> my_project/   <--- Django project files
  |---> my_script.py

I use this for Django 1.6 integration in my_script.py:

sys.path.append(os.path.join(os.path.dirname(__file__), ‘my_project’))
os.environ.setdefault(“DJANGO_SETTINGS_MODULE”, “my_project.settings”)
from django.conf import settings

from my_app.models import MyModel

About the author

Gabriel Saldaña Gabriel Saldaña is a web developer, photographer and free software advocate. Connect with him on and Twitter

This entry was posted in Programming & Web Development and tagged , , , , , by Gabriel Saldaña. Bookmark the permalink.

3 thoughts on “Using Django models in external Python scripts

  1. Jefri Yeh on July 7, 2014 at 01:13 said:

    Just want to say thanks for the tips 🙂

  2. Sandibellota on July 18, 2014 at 12:41 said:

    Excellent!!! I was looking for this, 😉 thnx

  3. Manjunath on April 2, 2016 at 06:18 said:

    Awesome, thanks for the post.

Leave a Reply

Your email address will not be published. Required fields are marked *