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を使用します