tickets
私は、次のモデルを持つと呼ばれる Django アプリを持っています。
from django.db import models
class Project(models.Model):
name = models.CharField(max_length=200)
class Ticket(models.Model):
summary = models.CharField(max_length=500)
project = models.ForeignKey(Project)
user = models.ForeignKey('auth.User')
への外部キーがありますauth.User
。REFERENCES
ただし、Django を使用して SQL を生成すると、 forが表示されませんuser_id
。なぜだめですか?
$ python manage.py sql tickets
BEGIN;
CREATE TABLE "tickets_project" (
"id" integer NOT NULL PRIMARY KEY,
"name" varchar(200) NOT NULL
)
;
CREATE TABLE "tickets_ticket" (
"id" integer NOT NULL PRIMARY KEY,
"summary" varchar(500) NOT NULL,
"project_id" integer NOT NULL REFERENCES "tickets_project" ("id"),
"user_id" integer NOT NULL -- no references here!
)
;
COMMIT;
python manage.py sql auth tickets
これは、どちらを呼び出しても、アプリが同じプロジェクトにある場合にも発生しません。