2013-04-09 120 views
0

我正在嘗試將基於MySQL的Django項目遷移到PostgreSQL。不幸的是,只要在settings.py中切換數據庫後端,所有sql/syncdb命令都會失敗。Django sql/syncdb命令失敗,PostgreSQL後端

python manage.py sql profile瓦特/ MySQL的:

BEGIN; 
CREATE TABLE `profile_department` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, 
    `name` varchar(100) NOT NULL UNIQUE, 
    [...] 

python manage.py sql profile W/PostgreSQL的(psycopg2):

DatabaseError: relation "profile_department" does not exist 
LINE 1: ...nt"."homepage", "profile_department"."gd_id" FROM "profile_d... 
                 ^

爲什麼Django的不同的表現與這兩個數據庫後端?

+0

在數據庫中查看時是否有任何表? – 2013-04-09 13:58:27

+0

請顯示爲Postgres執行的'create table'語句(它不是你發佈的那個**)。 – 2013-04-09 13:59:27

+1

爲什麼在生成sql時從數據庫中查詢?看起來你有一個查詢觸發模塊加載... tut tut ... – Thomas 2013-04-09 14:00:16

回答

1

托馬斯是正確的,的確有在models.py某處埋藏兩個查詢是指Department類:

ROOT_DEPARTMENT = Department.objects.get(pk=14) 
FACULTIES = Department.objects.filter(parent=ROOT_DEPARTMENT) 

謝謝!