すべてのデータが正確に1人のユーザーに属し、ユーザーが自分のデータ(メールなど)にのみアクセスするアプリを作成しようとしています。私はこれをmodels.pyファイルで次のようにモデル化します。
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を実行した後です。なぜこれが起こるのかについて何か考えはありますか?