我正在尝试迁移一个基于mysql的Django项目到PostgreSQL。不幸的是,当我在settings.py中切换数据库后端时,所有sql/syncdb命令都失败了。
python manage.py sql profile
w/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在两个DB后端表现不同?
Thomas是对的,确实有两个查询隐藏在models.py中的某个地方,它们指向Department类:
ROOT_DEPARTMENT = Department.objects.get(pk=14)
FACULTIES = Department.objects.filter(parent=ROOT_DEPARTMENT)
谢谢!