﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
13493	ImportError when trying to use models from standalone script.	eric@…	nobody	"This is a regression between 1.2-beta-1 and 1.2-rc-1

I have a maintenance script that accesses the database via the same django models I'm using for the website.  When I upgraded from 1.2-beta-1 to 1.2-rc-1, this script started failing with the following traceback unless the PWD is the django project directory:

{{{
Traceback (most recent call last):
  File ""test.py"", line 19, in <module>
    exam = Exam.objects.get(id=id)
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/manager.py"", line 132, in get
    return self.get_query_set().get(*args, **kwargs)
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/query.py"", line 333, in get
    clone = self.filter(*args, **kwargs)
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/query.py"", line 550, in filter
    return self._filter_or_exclude(False, *args, **kwargs)
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/query.py"", line 568, in _filter_or_exclude
    clone.query.add_q(Q(*args, **kwargs))
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/sql/query.py"", line 1131, in add_q
    can_reuse=used_aliases)
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/sql/query.py"", line 1026, in add_filter
    negate=negate, process_extras=process_extras)
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/sql/query.py"", line 1182, in setup_joins
    field, model, direct, m2m = opts.get_field_by_name(name)
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/options.py"", line 291, in get_field_by_name
    cache = self.init_name_map()
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/options.py"", line 321, in init_name_map
    for f, model in self.get_all_related_m2m_objects_with_model():
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/options.py"", line 396, in get_all_related_m2m_objects_with_model
    cache = self._fill_related_many_to_many_cache()
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/options.py"", line 410, in _fill_related_many_to_many_cache
    for klass in get_models():
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/loading.py"", line 167, in get_models
    self._populate()
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/loading.py"", line 61, in _populate
    self.load_app(app_name, True)
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/db/models/loading.py"", line 76, in load_app
    app_module = import_module(app_name)
  File ""/Users/kd5bjo/sentinel/packages/Django-1.2-rc-1/django/utils/importlib.py"", line 35, in import_module
    __import__(name)
ImportError: No module named app
}}}

The script is being executed with the following environment variables:

{{{
PYTHONPATH=.:./packages/Django-1.2-rc-1:./packages/south:.:/Users/kd5bjo/Library/Python/2.5/site-packages:/Library/Python/2.5/site-packages:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5
DJANGO_SETTINGS_MODULE=checkpoint.settings
PWD=/Users/kd5bjo/sentinel
}}}

The django project root is /Users/kd5bjo/sentinel/checkpoint, and the django app in question is called ""app"""		closed	Database layer (models, ORM)	1.2-beta		invalid	regression	eric@…	Unreviewed	0	0	0	0	0	0
