私は現在、アプリをホストし、ユーザーのデータベースを持つサイトを持っています。アプリに作成者 (つまり、ユーザー) ができるように、2 つを接続したいと思います。
更新:以下にいくつかの関連する詳細が追加され、django-registration を使用しています。
これと Django のドキュメントに従ってauthor
、アプリ モデルに次の行を追加することから始めました。
from django.contrib.auth.models import User
class App(models.Model):
name = models.CharField(max_length=200)
...
author = models.ForeignKey(User)
ただし、django admin からアプリにアクセスすると、エラーDatabaseError at /admin/apps/app/ ...no such column: apps_app.author_id が表示されます。
この機能のために実行する必要がある手順は明らかに他にもありますが、この単純な追加でエラーが発生する理由が気になります。
移行に南を使用して実行しました
./manage.py schemamigration apps --auto
1 回限りの値については、「ゼロ」に設定しました。int()
./manage.py migrate apps
これはうまくいかなかったので、私はやった
./manage.py migrate apps --fake
次に、前のコマンドをもう一度実行します。 --fake はありません。
また、リンクされた SO の質問に従って、class User(User)
apps/models.py にも作成する必要がありますか?
更新 2新しい django アプリを作成しました ( .manage.py startapp...
「アプリ」オブジェクトと混同しないでください)。この外部キーを追加して作成する手順を実行しましたが、正常に機能しました。これからの私の唯一の結論は、それは南部への移行の問題であり、実際には私のコードに問題がないということです。