1

Djangoの2つのモデル間に最初は延期可能な外部キー関係を作成し、バックエンドストレージとしてSQLite3を使用することに固執しているようです。

この簡単な例を考えてみましょう。これはmodels.pyがどのように見えるかです:

from django.db import models

class Investigator(models.Model):
    name = models.CharField(max_length=250)
    email = models.CharField(max_length=250)

class Project(models.Model):
    name = models.CharField(max_length=250)
    investigator = models.ForeignKey(Investigator)

そして、これはsqlallからの出力がどのように見えるかです:

BEGIN;
CREATE TABLE "moo_investigator" (
    "id" integer NOT NULL PRIMARY KEY,
    "name" varchar(250) NOT NULL,
    "email" varchar(250) NOT NULL
)
;
CREATE TABLE "moo_project" (
    "id" integer NOT NULL PRIMARY KEY,
    "name" varchar(250) NOT NULL,
    "investigator_id" integer NOT NULL REFERENCES "moo_investigator" ("id")
)
;
CREATE INDEX "moo_project_a7e50be7" ON "moo_project" ("investigator_id");
COMMIT;

プロジェクトテーブルの*investigator_id*列に「DEFERRABLEINITIALLYDEFERRED」がありません。私は何が間違っているのですか?

ps私はPythonとDjangoを初めて使用します-Pythonバージョン2.6.1Djangoバージョン1.4とSQLiteバージョン3.6.12を使用します

4

2 に答える 2

0

Sqlite バックエンドは を追加しません"DEFERRABLE INITIALLY DEFERRED"コードを確認する

于 2012-05-12T07:09:32.720 に答える