私は最近、空き時間にいくつかの Web アプリケーションで Django の実験を始めました。1 つのデータ モデルを設計しているときに、継承を使用して Web サイトのユーザーを定義するか、フレームワークによって既に提供されている User クラスでモンキー パッチとして知られる手法を使用するかというジレンマに遭遇しました。
(に従って、すべてのモデルなどをエラーなしで定義した後)を使用してフィールドを追加しようとしましたpython manage.py validate
:
User.add_to_class('location', models.CharField(max_length=250,blank=True))
syncdb
そしてコマンドを実行しました。ただし、このエラーが発生し続けます
OperationalError: そのような列はありません: auth_user.location
私がサイトの管理者ビューにいるのか、manage.py シェルにいるのか。私が見逃している余分なステップがあるに違いありませんが、サルのパッチ技術全体に関するドキュメントは限られているようです。ですから、相続に頼る前にあなたに助けを求めています。もちろん、追加のドキュメントへのコード、ヒント、またはポインタは大歓迎です。
前もって感謝します。
PS。私は、この手法が醜く、おそらく賢明でないことを認識しています。;)