Commit 1b3dc8ad authored by Russell Keith-Magee's avatar Russell Keith-Magee
Browse files

Fixed #12540, #12541 -- Added database routers, allowing for configurable...

Fixed #12540, #12541 -- Added database routers, allowing for configurable database use behavior in a multi-db setup, and improved error checking for cross-database joins.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12272 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent acc095c3
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -128,6 +128,7 @@ SERVER_EMAIL = 'root@localhost'
SEND_BROKEN_LINK_EMAILS = False

# Database connection info.
# Legacy format
DATABASE_ENGINE = ''           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = ''             # Or path to database file if using sqlite3.
DATABASE_USER = ''             # Not used with sqlite3.
@@ -136,9 +137,13 @@ DATABASE_HOST = '' # Set to empty string for localhost. Not used wit
DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
DATABASE_OPTIONS = {}          # Set to empty dictionary for default.

# New format
DATABASES = {
}

# Classes used to implement db routing behaviour
DATABASE_ROUTERS = []

# The email backend to use. For possible shortcuts see django.core.mail.
# The default is to use the SMTP backend.
# Third-party backends can be specified by providing a Python path
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ import urllib

from django.contrib import auth
from django.core.exceptions import ImproperlyConfigured
from django.db import models, DEFAULT_DB_ALIAS
from django.db import models
from django.db.models.manager import EmptyManager
from django.contrib.contenttypes.models import ContentType
from django.utils.encoding import smart_str
+2 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ Classes allowing "generic" relations through ContentType and object-id fields.
from django.core.exceptions import ObjectDoesNotExist
from django.db import connection
from django.db.models import signals
from django.db import models, DEFAULT_DB_ALIAS
from django.db import models
from django.db.models.fields.related import RelatedField, Field, ManyToManyRel
from django.db.models.loading import get_model
from django.forms import ModelForm
@@ -255,7 +255,7 @@ def create_generic_related_manager(superclass):
                    raise TypeError("'%s' instance expected" % self.model._meta.object_name)
                setattr(obj, self.content_type_field_name, self.content_type)
                setattr(obj, self.object_id_field_name, self.pk_val)
                obj.save(using=self.instance._state.db)
                obj.save()
        add.alters_data = True

        def remove(self, *objs):
+1 −1
Original line number Diff line number Diff line
from django.db import models, DEFAULT_DB_ALIAS
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.utils.encoding import smart_unicode

+1 −1
Original line number Diff line number Diff line
from django.db import connections, DEFAULT_DB_ALIAS
from django.db import connections
from django.db.models.query import sql

from django.contrib.gis.db.models.fields import GeometryField
Loading