django で User オブジェクトを拡張しており、ユーザー プロファイルを持っています。したがって、post_save フックを使用して、次の方法でユーザー プロファイルを保存します。
class UserProfile(models.Model):
user = models.OneToOneField(User)
def create_user_profile(sender, instance, created, **kwargs):
if created:
userObj, createdUser = UserProfile.objects.get_or_create(user=instance)
post_save.connect(create_user_profile, sender=User)
python manage.py shell; 経由でシェルを実行すると正常に動作します。ユーザーオブジェクトとユーザープロファイルをテーブルに保存しますが、リクエストを起動してテストする場合、そのリクエストを処理するviews.pyで次のことを行います
def handleRequest(request):
user = User(username="test",email="test",password="test")
user.save()
もちろん、HttpResponse を作成して応答も返しましたが、簡潔にするために省略しました。結果は、auth_user に保存されたユーザー エントリを取得しますが、ユーザー プロファイルは取得しません。何の契約?助けてください。