4

http://www.b-list.org/weblog/2006/jun/06/django-tips-extending-user-model/を読んだことがありますが、ForeignKey を使用して新しい db スキーマを移行する際にまだ問題があります製品リスト内のユーザー

私のコードの簡略版は次のとおりです。

from django.contrib.auth.models import User
# other imports

class Product(models.Model):

 author = models.ForeignKey(User)
 # other product fields..

しかし、South に移行しようとすると、これが問題になる可能性があります。これは、私のユーザー データベースが South によって処理されないためです (??私の初心者を許してください)。デフォルト値を設定する必要があるというエラーが表示されます。

_mysql_exceptions.OperationalError: (1067, "Invalid default value for 'author_id'")

誰かが私が間違っていることを説明できますか?? 理想的には、ユーザーのデフォルト値、または少なくとも null、false、または 0 は必要ありません (ただし、それは機能していないようです)。

どうもありがとう、

アダム

4

2 に答える 2

0

の値を空にできるようにする場合authorは、ForeignKeyをで定義する必要がありますnull=Trueblank=TrueDjangoフォームでの検証を制御するので、おそらく同様に必要になるでしょう。

author = models.ForeignKey(User, null=True, blank=True)
于 2011-01-24T13:26:37.977 に答える
0

簡単なルートをたどり、製品テーブルを完全にリセットし、最初から移行することになりました。私が何かを学んだかどうかはわかりません (アプリをリセットする方法以外)!

于 2011-01-24T14:23:00.583 に答える