0

django を使用して、テーブルに新しいエントリを追加しました。を使用して削除したいのですPHPPgAdmin (postgresql)が、No unique Identifier for this rowエラーが発生します。何が問題ですか?

django は自動インクリメントの主キーを自動的に追加するので、何が問題なのかわかりませんか?

この投稿を読みましたが、役に立ちませんでした。画像を注意深く見ると、主キー列のラベルがdjango の本来のラベルとid異なることがわかります。pk

ここに画像の説明を入力

編集: テーブルに主キーが表示されません。 ここに画像の説明を入力

しかし、これは django が実行するものです。

python manage.py sql auth

CREATE TABLE "auth_user" (
    "id" serial NOT NULL PRIMARY KEY,
    "password" varchar(128) NOT NULL,
    "last_login" timestamp with time zone NOT NULL,
    "is_superuser" boolean NOT NULL,
    "username" varchar(30) NOT NULL UNIQUE,
    "first_name" varchar(30) NOT NULL,
    "last_name" varchar(30) NOT NULL,
    "email" varchar(75) NOT NULL,
    "is_staff" boolean NOT NULL,
    "is_active" boolean NOT NULL,
    "date_joined" timestamp with time zone NOT NULL
)
;

id編集:主キーとして 表示される PHPPgAdmin のスクリーンショットここに画像の説明を入力

4

1 に答える 1

0

これは phpPgAdmin のバグだと思います。

同様の問題が発生し、psql に直接アクセスしました (コマンドを使用./manage.py dbshell)。

問題の行を削除してみましたが、phpPgAdmin からのエラー メッセージよりも役立つエラー メッセージを受け取りました。(私の場合、その行は別のテーブルによって参照されていました。)

他のテーブルで参照されている行を削除したところ、問題の行を削除できました。

于 2015-10-28T11:30:48.933 に答える