django-mongoadmin icon indicating copy to clipboard operation
django-mongoadmin copied to clipboard

AttributeError: 'module' object has no attribute 'User'

Open maxicecilia opened this issue 11 years ago • 0 comments

Hi, I'm trying to add mongoadmin to my app, and fails trying to import the User model.

This is my setup:

pip freeze

Django==1.6.1
mongoadmin==0.2
mongodbforms==0.3
mongoengine==0.8.6
pymongo==2.6.3
...

settings.py:

INSTALLED_APPS = (
    'django.contrib.auth',
    'mongoengine.django.mongo_auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mongodbforms',  # https://github.com/jschrewe/django-mongodbforms
    'mongoadmin',  # https://github.com/jschrewe/django-mongoadmin
    'django.contrib.admin',
    ...
)

AUTH_USER_MODEL = 'mongo_auth.MongoUser'
MONGOADMIN_OVERRIDE_ADMIN = True

# mongoengine auth config.
AUTHENTICATION_BACKENDS = (
    'mongoengine.django.auth.MongoEngineBackend',
)

# mongoengine session config.
SESSION_ENGINE = 'mongoengine.django.sessions'
SESSION_SERIALIZER = 'mongoengine.django.sessions.BSONSerializer'

If I remove mongoadmin from INSTALLED_APPS everything run OK, else I get this stacktrace:

Traceback (most recent call last):
  File "manage.py", line 26, in <module>
    execute_from_command_line(sys.argv)
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/django/core/management/base.py", line 280, in execute
    translation.activate('en-us')
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 130, in activate
    return _trans.activate(language)
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 188, in activate
    _active.value = translation(language)
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 177, in translation
    default_translation = _fetch(settings.LANGUAGE_CODE)
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 159, in _fetch
    app = import_module(appname)
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/mongoadmin/__init__.py", line 1, in <module>
    from .options import *
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/mongoadmin/options.py", line 6, in <module>
    from mongoadmin.contenttypes.models import ContentType
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/mongoadmin/contenttypes/models.py", line 9, in <module>
    from mongoengine.django.auth import ContentType
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/mongoengine/django/auth.py", line 12, in <module>
    from .mongo_auth.models import get_user_document
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/mongoengine/django/mongo_auth/models.py", line 96, in <module>
    class MongoUser(models.Model):
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/django/db/models/base.py", line 144, in __new__
    new_class.add_to_class(obj_name, obj)
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/django/db/models/base.py", line 264, in add_to_class
    value.contribute_to_class(cls, name)
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/mongoengine/django/mongo_auth/models.py", line 66, in contribute_to_class
    self.model = get_user_document()
  File "/home/maxicecilia/.virtualenvs/dnd-tools/local/lib/python2.7/site-packages/mongoengine/django/mongo_auth/models.py", line 29, in get_user_document
    return getattr(module, name[dot + 1:])
AttributeError: 'module' object has no attribute 'User'

Any ideas? Thanks!

maxicecilia avatar Dec 29 '13 01:12 maxicecilia