Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: django/django
head fork: ptone/django
Checking mergeability… Don't worry, you can still create the pull request.
Commits on Jul 11, 2012
@ptone ptone merge app-loading branch into new history
the app-loading branch had many commits and merges
with the old git history - the simplest way to
move it forward was to do it as a single merge
@ptone ptone restore missing eggs due to .gitignore setting
my global gitignore was ignoring egg related files and so these were stripped
from my updated branch
@ptone ptone add a couple missing tests 15addd5
@ptone ptone add handling for an edge case
I couldn't actually come up with a way to trigger this statement
@ptone ptone fix i18n tests 6a1eab2
@ptone ptone removed references to app_store feature AppCache
The feature is not supported in current implementation - potential note of 
backward incompatability.
@ptone ptone fix auto-completion in management commands 165161a
@ptone ptone fix empty model tests dd56a74
@ptone ptone more empty model test fixes b74cdd9
@ptone ptone fix invalid_models test 93ccd97
@ptone ptone ensure that management commands are found
if the cache is not populated, management command discovery doesn't happen
@ptone ptone properly reset shared state in AppCache when _reset 29f2696
@ptone ptone more test cleanup
gonna squash anyway, this is a messy one - trying to isolate
some other issues
@ptone ptone attempt to improve tablespaces tests
not yet working
@ptone ptone apps with no models should not trigger duplicate model installation
The issue here was that if an app has no models, its 
model_module is None, which when passed to get_models
would return ALL models, duplicating what models get installed
in the DB
@ptone ptone remove tests for deleted feature 8113cd5
@ptone ptone actually reset the __dict__ on self 454b902
@ptone ptone fixing up tests using installed_apps override 799531c
@ptone ptone These were moved to the appcachetests
these had been moved in the original branch, but did not get moved in the merge - so removing
@ptone ptone fix app label clash for invalid models test b8978c3
@ptone ptone move parent model traversal into App class 00165f7
@ptone ptone start of an unload_app method - incomplete f01d1b5
@ptone ptone make sure errors match new app label for invalid model tests b0730cd
@ptone ptone attempt new unload app call
also comment out the signal silencing
@ptone ptone use load_app instead of cache._reload
cache._reload destroys too much app cache info
that is loaded from
@ptone ptone conditionally remove a temp file 32cb019
@ptone ptone improvements to unload_app and usage 695a7bf
@ptone ptone remove signal silencing hack 275c9cd
@ptone ptone making unload_app a bit more robust a921b40
@ptone ptone properly unload apps in views.i18n tests 7e5b33a
@ptone ptone notes on incomplete test implementation 1eb0cc4
@ptone ptone integrate appcachetests into testsuite
These are nested into their own test dir, in part
to keep the appcache tests last, as calling reload
from other tests, or having it called before other
tests causes a corrupted test appcache due to apps
that are loaded directly by runtests
@ptone ptone use cache instance instead of deprecated 9527b0e
@ptone ptone preserve proper installed flag during load_app
load_app can be used from _populate which is based on installed_apps
or independently in the case of tests, or when models imported outside
of installed apps
@ptone ptone unload_app improvements 484198e
@ptone ptone remove some debug code b144a92
@ptone ptone move to context manager for _populate thread lock afca23e
@ptone ptone locate module level representation only to 1935f8c
@ptone ptone rename app_cache_ready to ready 640f0de
@ptone ptone get_app -> get_models_module 06d0aea
@ptone ptone get_apps -> get_models_modules edf6ea7
@ptone ptone find_app -> get_app_instance 5536e45
@ptone ptone plurality typos 2a63700
@ptone ptone fixup some module level use of get_models 8405bff
@ptone ptone resolve name collision for 'cache' 5aab87c
@ptone ptone typo fix in method call fcae120
@ptone ptone restore model registration with instance
this was causing test failures with contrib.sites settings .installed
to false on a model, causing later failures

feel this will be properly addressed later hopefully in some register_models refactor
@ptone ptone rename global AppCache instance from cache to app_cache b1022a3
@ptone ptone fix missed rename for get_apps a6b9256
@ptone ptone represent appcache methods at django.models without deprecation 39682e0
@ptone ptone port of fix for #18251 from master 684b35d
@ptone ptone define model module cache related names early in import 88c927b
@ptone ptone refactor model registration
use apps in app_cache exclusively
proxy certain attributes of models back to apps
@ptone ptone preserve backwards compatible instance of app_cache 23fc55e
@ptone ptone trigger app loading early on in Django's startup de94a48
@ptone ptone support models packages without explicit app_label d9e6ce1
Commits on Jul 12, 2012
@ptone ptone raise error in load_app on duplicate label
make sure that a second app with the same label can't get loaded

cleanup errant line
@ptone ptone rename test modules with labels that conflict with other apps 3cdb7d6
@ptone ptone remove need for 'naive' attribute 8931fd4
@ptone ptone update renamed test bf3fbcc
@ptone ptone only syncdb installed apps 7c77ffa
@ptone ptone Revert "only syncdb installed apps"
This reverts commit 7c77ffa.
@ptone ptone better deal with modeless apps 7406354
Commits on Jul 13, 2012
@ptone ptone Repair and integrate the appcache tests
This is a combination of 13 commits.
proper integration setup

remove order dependence

reload at start

a better _unload_app

sys path hack for now

reloads and resets

todo - postpone

change to app that has models

earlier versions allowed db_prefix conflict for apps with no models

reloading does it?

test fixups

test fixups

add testing hack

raise ImportError when explicitly loading an app that has no module
@ptone ptone PEP8 cleanup 505dc9d
Commits on Jul 15, 2012
@ptone ptone add get_model method to app base 03463ca
Commits on Jul 16, 2012
@ptone ptone special case auth, as it ships with an app class 1576340
@ptone ptone change how post_load hook is called dee6d01
Commits on Jul 20, 2012
@ptone ptone use app name for full path - and app label for shortform f80c067
@ptone ptone first draft topic docs e499339
@ptone ptone add a named tuple collection for less verbose access b73f8f6
@ptone ptone docstring improvements 7b3cba4
@ptone ptone factor out model relocation from model registration
the main point of this is to mitigate the fact that
importing the app's models module was hopelessly entangling
model imports with app loading
@ptone ptone disable module import on app loading 801362d
@ptone ptone make sure app modules are imported as part of _populate
but not at load time - resolves some circular imports
@ptone ptone remove use of naive from load_app 9ee5330