Fix dumpdata hack on Windows

fix_request_path_info
Diederik van der Boor 2016-09-12 10:35:47 +02:00
parent 8f9f8ab4f7
commit e76259fa2e
1 changed files with 4 additions and 1 deletions

View File

@ -4,6 +4,7 @@
""" """
from __future__ import absolute_import from __future__ import absolute_import
import os
import sys import sys
import inspect import inspect
@ -19,6 +20,8 @@ from .query import PolymorphicQuerySet
# These are forbidden as field names (a descriptive exception is raised) # These are forbidden as field names (a descriptive exception is raised)
POLYMORPHIC_SPECIAL_Q_KWORDS = ['instance_of', 'not_instance_of'] POLYMORPHIC_SPECIAL_Q_KWORDS = ['instance_of', 'not_instance_of']
DUMPDATA_COMMAND = os.path.join('django', 'core', 'management', 'commands', 'dumpdata.py')
try: try:
from django.db.models.manager import AbstractManagerDescriptor # Django 1.5 from django.db.models.manager import AbstractManagerDescriptor # Django 1.5
except ImportError: except ImportError:
@ -244,7 +247,7 @@ class PolymorphicModelBase(ModelBase):
def __getattribute__(self, name): def __getattribute__(self, name):
if name == '_default_manager': if name == '_default_manager':
frm = inspect.stack()[1] # frm[1] is caller file name, frm[3] is caller function name frm = inspect.stack()[1] # frm[1] is caller file name, frm[3] is caller function name
if 'django/core/management/commands/dumpdata.py' in frm[1]: if DUMPDATA_COMMAND in frm[1]:
return self.base_objects return self.base_objects
# caller_mod_name = inspect.getmodule(frm[0]).__name__ # does not work with python 2.4 # caller_mod_name = inspect.getmodule(frm[0]).__name__ # does not work with python 2.4
# if caller_mod_name == 'django.core.management.commands.dumpdata': # if caller_mod_name == 'django.core.management.commands.dumpdata':