我有一个名为 的 Django 应用程序tickets
,具有以下模型:
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
。但是,当我使用 Django 生成 SQL 时,它没有显示REFERENCES
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
任何一个时发生,也不会在应用程序位于同一个项目中时发生。