私は github で django-custom-user アプリを使用しています: https://github.com/recreatic/django-custom-user
定義された信号があります:
@receiver(post_save, sender=EmailUser)
def user_saved(sender=None, **kwargs):
print("Request finished!")
user = kwargs["instance"]
if kwargs["created"]:
blah = Blah(user=get_user_model(), name="None")
blah.save()
現在、次のエラーが表示されます: "" を割り当てられません: "Blah.user" は "EmailUser" インスタンスである必要があります。github の説明では、特定のメール アドレスを取得するように指示されているため、このエラーは理にかなっています。
user = get_user_model().get(email="user@example.com")
私の質問は...この場合、作成されたばかりのユーザーを取得するにはどうすればよいですか? ログインしたばかりのユーザーのメールアドレスを持っているわけではありませんか? 私はdjango admin btwを通してこれをやっています。これはビュー内と同義で、request.user を使用できます。でも、今ここでそれをすることはできないと思います。
誰かがシグナルのこれらのコールバックにある引数を説明できますか? このコールバック関数には任意の名前の user_saved が付いていますが、何らかの理由で引数 "sender" と "kwargs" を取得します。それらはどこから来て、これらのコールバックの引数のリストはどこにありますか?