【发布时间】:2013-04-08 14:00:59
【问题描述】:
我有一个名为 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 有一个外键。但是,当我使用 Django 生成 SQL 时,它不会为 user_id 显示 REFERENCES。为什么不呢?
$ 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 时也不会发生这种情况,当应用程序位于同一个项目中时也不会发生这种情况。
【问题讨论】: