Django查询在postgres中消失

Django查询在postgres中消失,django,postgresql,Django,Postgresql,我在一个简单的django项目中建立了一些模型。当我跑的时候 python manage.py sql fivefives 当我运行syncdb或validate时,我得到了大量漂亮的sql,但没有错误 BEGIN; CREATE TABLE "fivefives_player" ( "id" serial NOT NULL PRIMARY KEY, "username" varchar(200) NOT NULL, "colour" varchar(7) NOT NU

我在一个简单的django项目中建立了一些模型。当我跑的时候

python manage.py sql fivefives
当我运行syncdb或validate时,我得到了大量漂亮的sql,但没有错误

BEGIN;
CREATE TABLE "fivefives_player" (
    "id" serial NOT NULL PRIMARY KEY,
    "username" varchar(200) NOT NULL,
    "colour" varchar(7) NOT NULL,
    "remaining_dice" integer NOT NULL
)
;
CREATE TABLE "fivefives_game_player_list" (
    "id" serial NOT NULL PRIMARY KEY,
    "game_id" integer NOT NULL,
    "player_id" integer NOT NULL REFERENCES "fivefives_player" ("id") DEFERRABLE INITIALLY DEFERRED,
    UNIQUE ("game_id", "player_id")
)
;
CREATE TABLE "fivefives_game" (
    "id" serial NOT NULL PRIMARY KEY,
    "time" timestamp with time zone NOT NULL
)
;
ALTER TABLE "fivefives_game_player_list" ADD CONSTRAINT "game_id_refs_id_c39af54" FOREIGN KEY ("game_id") REFERENCES "fivefives_game" ("id") DEFERRABLE INITIALLY DEFERRED;
CREATE TABLE "fivefives_round_player_list" (
    "id" serial NOT NULL PRIMARY KEY,
    "round_id" integer NOT NULL,
    "player_id" integer NOT NULL REFERENCES "fivefives_player" ("id") DEFERRABLE INITIALLY DEFERRED,
    UNIQUE ("round_id", "player_id")
)
; ... it continues like this... 
但是一旦我跳进管理系统,表就不在了。登录postgres,我看到表甚至还没有创建

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'perudodb',                      # Or path to database file if using sqlite3.
        'USER': 'postgres',                      # Not used with sqlite3.
        'PASSWORD': 'postgres',                  # 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.
    }
}

以前有人想到过这样的事吗?只需将所有文件复制到我朋友的计算机上并同步数据库,一切都很好。

manage.py sql
实际上并没有运行sql,它只是打印出来。

要真正创建表,您需要
manage.py syncdb
紧急时刻。我使用的“postgres”默认用户显然缺少一些东西。我刚换成dave,我mac电脑的超级用户,运行syncdb,一切都发生了,现在正在运行。答案已经公布了。但有一个提示:使用南方。它处理模式迁移,并且是事实上的标准。我一定会检查它-在我已经创建字段null=True之后,正是需要它才能使字段null=True。谢谢