Fix dumpdata hack on Windows
parent
8f9f8ab4f7
commit
e76259fa2e
|
|
@ -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':
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue