私は追加のフィールドで認証User
モデルを拡張しています。
class ExtendedUser(models.Model):
user = models.OneToOneField(User)
.... #other fields#
私は以下の方法でそれらを作成します。
base_user = User(username = 'username', password = 'password', email = 'user@mail.com')
extended_user = ExtendedUser(user = base_user, ...#other fields#)
そのシナリオでuser_id
は、 は設定されていません。base_user をデータベースに保存しようとすると、エラーが発生します。
extended_user.save()
#Exception traceback
... user_id may not be NULL
私を悩ませているのは、次のことで問題が解決することです。
extended_user.user_id = extended_user.user.id
これは、カスタムの OneToOne 関係に対して自動的に行われました。に関する何かが欠けていますか、User
それともバグですか?