Fixed #1796 -- implemented more robust normalisation for module filenames
before comparing them. Ivan Saglaev found a case where r3202 did not work properly. git-svn-id: http://code.djangoproject.com/svn/django/trunk@3206 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
25ffce4c83
commit
db366b4a78
|
@ -97,8 +97,8 @@ def register_models(app_label, *models):
|
||||||
# The same model may be imported via different paths (e.g.
|
# The same model may be imported via different paths (e.g.
|
||||||
# appname.models and project.appname.models). We use the source
|
# appname.models and project.appname.models). We use the source
|
||||||
# filename as a means to detect identity.
|
# filename as a means to detect identity.
|
||||||
fname1 = os.path.normpath(sys.modules[model.__module__].__file__)
|
fname1 = os.path.abspath(sys.modules[model.__module__].__file__)
|
||||||
fname2 = os.path.normpath(sys.modules[model_dict[model_name].__module__].__file__)
|
fname2 = os.path.abspath(sys.modules[model_dict[model_name].__module__].__file__)
|
||||||
# Since the filename extension could be .py the first time and .pyc
|
# Since the filename extension could be .py the first time and .pyc
|
||||||
# or .pyo the second time, ignore the extension when comparing.
|
# or .pyo the second time, ignore the extension when comparing.
|
||||||
if os.path.splitext(fname1)[0] == os.path.splitext(fname2)[0]:
|
if os.path.splitext(fname1)[0] == os.path.splitext(fname2)[0]:
|
||||||
|
|
Loading…
Reference in New Issue