Notes on trying the Django-nonrel MongoDB backend
http://www.allbuttonspressed.com/blog/django/2010/05/MongoDB-backend-for-Django-nonrel-released
Install and run MongoDB¶
$ cd ~/lib
$ curl http://downloads.mongodb.org/linux/mongodb-linux-i686-latest.tgz | tar zx
$ ln -s mongodb-linux-i686-2010-06-08 mongodb
$ mkdir -p ~/var/mongodb/db
$ ~/lib/mongodb/bin/mongod --dbpath ~/var/mongodb/db
Pip requirements file, ~/src/DjangoMongo/requirements.txt¶
pymongo -e git+http://github.com/aparo/django-mongodb-engine.git#egg=django_mongodb_engine -e hg+http://bitbucket.org/wkornewald/django-nonrel#egg=Django -e hg+http://bitbucket.org/wkornewald/djangotoolbox#egg=djangotoolbox
Setup¶
$ cd ~/lib/python-environments
$ virtualenv --no-site-packages --distribute djangomongo
$ source ~/lib/python-environments/djangomongo/bin/activate
$ cd ~/src/DjangoMongo
$ pip install -r requirements.txt
$ django-admin.py startproject djangomongo
Django settings file¶
Changes in ~/src/DjangoMongo/djangomongo/settings.py:
DATABASES = {
'default': {
'ENGINE': 'django_mongodb_engine.mongodb',
'NAME': 'test',
'USER': '',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '27017',
'SUPPORTS_TRANSACTIONS': False,
}
}
INSTALLED_APPS = (
# ...
'djangotoolbox',
)
Syncdb¶
Running syncdb gave me the following error.
$ python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/home/saltycrane/lib/python-environments/djangomongo/src/django/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/home/saltycrane/lib/python-environments/djangomongo/src/django/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/saltycrane/lib/python-environments/djangomongo/src/django/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/home/saltycrane/lib/python-environments/djangomongo/src/django/django/core/management/base.py", line 218, in execute
output = self.handle(*args, **options)
File "/home/saltycrane/lib/python-environments/djangomongo/src/django/django/core/management/base.py", line 347, in handle
return self.handle_noargs(**options)
File "/home/saltycrane/lib/python-environments/djangomongo/src/django/django/core/management/commands/syncdb.py", line 84, in handle_noargs
sql, references = connection.creation.sql_create_model(model, self.style, seen_models)
File "/home/saltycrane/lib/python-environments/djangomongo/src/django-mongodb-engine/django_mongodb_engine/mongodb/creation.py", line 87, in sql_create_model
opts = model._mongo_meta
AttributeError: type object 'Permission' has no attribute '_mongo_meta'</module>
1
Comment
—
Comments feed for this post
Post a comment
About
I'm Eliot and this is my notepad for programming topics such as Python, Django, Ubuntu, Emacs, etc... more »
Search Blog
Tags
-
algorithms
(5)
-
aws
(9)
-
blogproject
(20)
-
c_cplusplus
(12)
-
cardstore
(8)
-
colinux
(2)
-
concurrency
(13)
-
conkeror
(2)
-
core
(2)
-
cygwin
(17)
-
datastructures
(14)
-
datetime
(4)
-
decorators
(4)
-
django
(40)
-
emacs
(22)
-
files_directories
(11)
-
git
(5)
-
hardware
(5)
-
install_setup
(8)
-
javascript
(3)
-
keyboard
(9)
-
matplotlib
(5)
-
mercurial
(4)
-
nginx
(2)
-
persistence
(5)
-
preferences
(7)
-
processes
(4)
-
pyqt
(18)
-
python
(144)
-
ratpoison
(3)
-
regexes
(6)
-
rsync
(3)
-
softwaretools
(17)
-
sql
(14)
-
ssh
(10)
-
subversion
(6)
-
twisted
(7)
-
ubuntu
(65)
-
urxvt
(5)
-
vxworks
(25)
-
webdev
(5)
-
wmii
(7)
Blogroll
- Adam Gomaa
- Alex Clemesha
- Amir Salihefendic
- Armin Ronacher
- David Beazley
- David Ziegler
- Duncan McGreggor
- Gareth Rushgrave
- Glyph Lefkowitz
- Guido van Rossum
- Ian Bicking
- Jacob Kaplan-Moss
- James Bennett
- James Tauber
- Jesper Noehr
- Marty Alchin
- Matt Harrison
- Nikolay Kolev
- Parand Darugar
- Peter Baumgartner
- Peter Bengtsson
- Rob Hudson
- Simon Willison
- Will McGugan
#1 Andres Douglas commented on 2011-09-07:
I think you might need the Permission backend from here: https://github.com/fhahn/django-permission-backend-nonrel