fix import errors

This commit is contained in:
Laura Klünder 2017-06-21 14:09:26 +02:00
parent 7d736665a4
commit b1569be54e
6 changed files with 12 additions and 10 deletions

View file

@ -8,7 +8,6 @@ from django.db import models
from django.db.models import Q
from django.utils.translation import ugettext_lazy as _
from c3nav.editor.models import ChangeSet
from c3nav.editor.utils import is_created_pk
from c3nav.editor.wrappers import ModelInstanceWrapper
@ -22,7 +21,7 @@ class Change(models.Model):
('m2m_add', _('add many to many relation')),
('m2m_remove', _('add many to many relation')),
)
changeset = models.ForeignKey(ChangeSet, on_delete=models.CASCADE, verbose_name=_('Change Set'))
changeset = models.ForeignKey('editor.ChangeSet', on_delete=models.CASCADE, verbose_name=_('Change Set'))
author = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.PROTECT, verbose_name=_('Author'))
created = models.DateTimeField(auto_now_add=True, verbose_name=_('created'))
action = models.CharField(max_length=16, choices=ACTIONS, verbose_name=_('action'))

View file

@ -3,10 +3,6 @@ from functools import wraps
from django.db import models
from django.db.models import Manager
from c3nav.editor.wrappers import ModelInstanceWrapper, ModelWrapper
from c3nav.editor.wrappers.manager import ManagerWrapper, ManyRelatedManagerWrapper, RelatedManagerWrapper
from c3nav.editor.wrappers.query import QuerySetWrapper
class BaseWrapper:
_not_wrapped = ('_changeset', '_author', '_obj', '_created_pks', '_result', '_extra', '_result_cache',
@ -21,6 +17,8 @@ class BaseWrapper:
# noinspection PyUnresolvedReferences
def _wrap_model(self, model):
from c3nav.editor.wrappers.instance import ModelInstanceWrapper
from c3nav.editor.wrappers.model import ModelWrapper
if isinstance(model, type) and issubclass(model, ModelInstanceWrapper):
model = model._parent
if isinstance(model, ModelWrapper):
@ -31,6 +29,7 @@ class BaseWrapper:
return ModelWrapper(self._changeset, model, self._author)
def _wrap_instance(self, instance):
from c3nav.editor.wrappers.instance import ModelInstanceWrapper
if isinstance(instance, ModelInstanceWrapper):
if self._author == instance._author and self._changeset == instance._changeset:
return instance
@ -39,6 +38,7 @@ class BaseWrapper:
return self._wrap_model(type(instance)).create_wrapped_model_class()(self._changeset, instance, self._author)
def _wrap_manager(self, manager):
from c3nav.editor.wrappers.manager import ManagerWrapper, ManyRelatedManagerWrapper, RelatedManagerWrapper
assert isinstance(manager, Manager)
if hasattr(manager, 'through'):
return ManyRelatedManagerWrapper(self._changeset, manager, self._author)
@ -47,9 +47,11 @@ class BaseWrapper:
return ManagerWrapper(self._changeset, manager, self._author)
def _wrap_queryset(self, queryset):
from c3nav.editor.wrappers.query import QuerySetWrapper
return QuerySetWrapper(self._changeset, queryset, self._author)
def __getattr__(self, name):
from c3nav.editor.wrappers.instance import ModelInstanceWrapper
value = getattr(self._obj, name)
if isinstance(value, Manager):
value = self._wrap_manager(value)

View file

@ -3,7 +3,7 @@ from django.db.models import Field
from django.db.models.fields.related_descriptors import ForwardManyToOneDescriptor
from c3nav.editor.utils import is_created_pk
from c3nav.editor.wrappers import BaseWrapper
from c3nav.editor.wrappers.base import BaseWrapper
class ModelInstanceWrapper(BaseWrapper):

View file

@ -1,4 +1,4 @@
from c3nav.editor.wrappers import BaseQueryWrapper
from c3nav.editor.wrappers.query import BaseQueryWrapper
class ManagerWrapper(BaseQueryWrapper):

View file

@ -4,7 +4,8 @@ from itertools import chain
from django.utils.functional import cached_property
from c3nav.editor.forms import create_editor_form
from c3nav.editor.wrappers import BaseWrapper, ModelInstanceWrapper
from c3nav.editor.wrappers.base import BaseWrapper
from c3nav.editor.wrappers.instance import ModelInstanceWrapper
class ModelWrapper(BaseWrapper):

View file

@ -8,7 +8,7 @@ from django.db.models.fields.related_descriptors import ForwardManyToOneDescript
from django.utils.functional import cached_property
from c3nav.editor.utils import is_created_pk
from c3nav.editor.wrappers import BaseWrapper
from c3nav.editor.wrappers.base import BaseWrapper
def get_queryset(func):