Re: Per application default database?

2010-02-20 Thread lasizoillo
2010/2/3 kmpm :
> Hmm... strange.
> I get a strange error when I tried to do this
> Something about a django_content_type  relation which I don't have.
> This probably happens when the "app" gets registerd in the auth
> system.
> Same error with both postgresql and sqlite3.
>
> Databases are configured like this..
> DATABASES = {
>    'default': {
>        'ENGINE': 'django.db.backends.postgresql_psycopg2',
>        'NAME': 'mydata',                      # Or path to database
> file if using sqlite3.
>        'USER': 'postgres',                      # Not used with
> sqlite3.
>        'PASSWORD': 'supersecret',                  # Not used with
> sqlite3.
>        'HOST': 'localhost',                      # Set to empty
> string for localhost. Not used with sqlite3.
>        'PORT': '',                      # Set to empty string for
> default. Not used with sqlite3.
>    },
>    'ads': {
>        'ENGINE': 'django.db.backends.postgresql_psycopg2',
>        'NAME': 'mydata_ads',
>        'USER': 'postgres',                      # Not used with
> sqlite3.
>        'PASSWORD': 'supersecret',                  # Not used with
> sqlite3.
>        'HOST': 'localhost',                      # Set to empty
> string for localhost. Not used with sqlite3.
>        'PORT': '',
>    }
> }
>
> Running a ./manage.py syncdb works as a dream but doesn't include the
> adds app because of the router previously mentioned.
>
> Here is what happens when I try to sync a database/app called ads.
> ./manage.py syncdb --database=ads
> Creating table ads_entry
> Traceback (most recent call last):
>  File "./manage.py", line 11, in 
>    execute_manager(settings)
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/core/management/__init__.py", line 438, in
> execute_manager
>    utility.execute()
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/core/management/__init__.py", line 379, in execute
>    self.fetch_command(subcommand).run_from_argv(self.argv)
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/core/management/base.py", line 195, in run_from_argv
>    self.execute(*args, **options.__dict__)
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/core/management/base.py", line 222, in execute
>    output = self.handle(*args, **options)
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/core/management/base.py", line 351, in handle
>    return self.handle_noargs(**options)
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/core/management/commands/syncdb.py", line 97, in
> handle_noargs
>    emit_post_sync_signal(created_models, verbosity, interactive, db)
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/core/management/sql.py", line 190, in
> emit_post_sync_signal
>    interactive=interactive, db=db)
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/dispatch/dispatcher.py", line 166, in send
>    response = receiver(signal=self, sender=sender, **named)
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/contrib/contenttypes/management.py", line 12, in
> update_contenttypes
>    content_types = list(ContentType.objects.using(db).filter
> (app_label=app.__name__.split('.')[-2]))
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/db/models/query.py", line 81, in __len__
>    self._result_cache.extend(list(self._iter))
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/db/models/query.py", line 267, in iterator
>    for row in compiler.results_iter():
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/db/models/sql/compiler.py", line 685, in results_iter
>    for rows in self.execute_sql(MULTI):
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/db/models/sql/compiler.py", line 740, in execute_sql
>    cursor.execute(sql, params)
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/db/backends/util.py", line 19, in execute
>    return self.cursor.execute(sql, params)
>  File "/home/peterm/python/dalsland/local/py/lib/python2.6/site-
> packages/django/db/backends/postgresql_psycopg2/base.py", line 44, in
> execute
>    return self.cursor.execute(query, args)
> django.db.utils.DatabaseError: relation "django_content_type" does not
> exist
> LINE 1: ..."."app_label", "django_content_type"."model" FROM
> "django_co..
>
>


As workaround I changed to this code in router:

def allow_syncdb(self, db, model):
"Make sure the auth app only appears on the 'geonames' db"
if db == 'geonames':
return model._meta.app_label == 'geonames' or \
model._meta.app_label == 'contenttypes'  ##This is
the workaround
elif model._me

Re: [GSOC] NoSQL Support for the ORM

2010-04-07 Thread lasizoillo
2010/4/7 Alex Gaynor :

>  * 2 weeks - begin working on a backend for a non-relational database 
> (probably
>   MongoDB)

Pymodels[1] have backends for MogoDB and Tokyo Tyrant/Cabinet. Maybe
some things can be reused in backend.

http://bitbucket.org/neithere/pymodels/

Regards,

Javi

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-develop...@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.