我能夠使用默認數據庫的查詢集。 但是,當我使用查詢設置爲另一個數據庫,拋出異常。不能使用查詢設置爲Django中的多個數據庫
在我的應用程序中,我使用了兩個數據庫。 SQLite和mysql的
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'abc.db', # Or path to database file if using sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
},
'second' : {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'abc', # Or path to database file if using sqlite3.
'USER': 'abcdb', # Not used with sqlite3.
'PASSWORD': 'xxxxx', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
當我使用的查詢設置第一個數據庫它不拋出任何異常。 雖然使用第二個數據庫它是投擲表不可用。
TemplateSyntaxError at /abc/xyz/
Caught DatabaseError while rendering: no such table: second.tablename
Request Method: GET
Request URL: http://127.0.0.1:8000/xxx/yyyy/?q=abcd
Django Version: 1.3.1
Exception Type: TemplateSyntaxError
Exception Value:
Caught DatabaseError while rendering: no such table: second.tablename
你確定該表在數據庫中存在? – dm03514 2012-01-17 20:29:13
您是否創建了路由器(https://docs.djangoproject.com/en/dev/topics/db/multi-db/#using-routers)?這表可能只在其中一個數據庫中(而不是Django在嘗試查詢時拋出)。 – Tom 2012-01-17 20:33:35
database1有不同的表,database2有不同的表。 – sreekanth 2012-01-18 08:53:09