1
我試圖創建一個應用程序,其中所有數據都屬於一個用戶,而用戶只能訪問他們自己的數據(例如電子郵件)。我在我的models.py文件中建模如下:爲什麼Django不能創建由manage.py指定的數據庫列sql
from django.contrib.auth.models import User
from django.db import models
...
class Foo(models.Model):
owner=ForeignKey(User, related_name='foos')
這似乎工作正常。
python manage.py sql appFoo
顯示SQL包括
CREATE TABLE "appFoo_foo" (
"id" integer NOT NULL PRIMARY KEY,
"owner_id" integer NOT NULL REFERENCES "auth_user" ("id")
...
的問題,不過,出現當我嘗試刪除我爲測試目的創建的用戶,使用
User.objects.exclude(username='root').delete()
,並使用內置兩個在Django的管理員應用程序。無論哪種情況,我都會收到一個數據庫錯誤,指出表appFoo_foo沒有名爲owner_id的列。這是在運行syncdb之後。有關爲什麼會發生這種情況的任何想法?