Fixed #5161 -- Changed MySQL backend only to report warning once. Thanks, durdinator

git-svn-id: http://code.djangoproject.com/svn/django/trunk@6229 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2007-09-14 22:05:58 +00:00
parent 59964c2c3f
commit dfdbf9ec1e
1 changed files with 5 additions and 3 deletions

View File

@ -24,6 +24,11 @@ from MySQLdb.constants import FIELD_TYPE
import types import types
import re import re
# Raise exceptions for database warnings if DEBUG is on
if settings.DEBUG:
from warnings import filterwarnings
filterwarnings("error", category=Database.Warning)
DatabaseError = Database.DatabaseError DatabaseError = Database.DatabaseError
IntegrityError = Database.IntegrityError IntegrityError = Database.IntegrityError
@ -153,7 +158,6 @@ class DatabaseWrapper(BaseDatabaseWrapper):
return False return False
def _cursor(self, settings): def _cursor(self, settings):
from warnings import filterwarnings
if not self._valid_connection(): if not self._valid_connection():
kwargs = { kwargs = {
'conv': django_conversions, 'conv': django_conversions,
@ -175,8 +179,6 @@ class DatabaseWrapper(BaseDatabaseWrapper):
kwargs.update(self.options) kwargs.update(self.options)
self.connection = Database.connect(**kwargs) self.connection = Database.connect(**kwargs)
cursor = self.connection.cursor() cursor = self.connection.cursor()
if settings.DEBUG:
filterwarnings("error", category=Database.Warning)
return cursor return cursor
def _rollback(self): def _rollback(self):