この予期しない動作の変化とその実装方法の原因を理解したいと思います。予期せず変更された動作のPython変数リファレンス
:オブジェクトを移動することで、Fnを呼び出すは、このオブジェクトが最初に新しい変数に代入されたときに異なる結果を取得します..私はJSの世界から来て、これはどのような方法で実施することは不可能である可能性が非常に高いです
>>> from core.models import SomeModel
>>> s = SomeModel.objects.get(id=45)
>>> s.user.profile.needs_review
True
>>> s.user.profile.needs_review = False
>>> s.user.profile.needs_review
True
>>> profile = s.user.profile
>>> profile.needs_review
True
>>> profile.needs_review = False
>>> profile.needs_review
False
これは私がこれを使って作業している言語でも同様に実行されるので、これは本当に不安です。
ところで、これは普通のジャンゴモデルですが、私はそのような効果を達成するためにどのような種類の言語リソースが使用できるかを知ることにもっと興味があります。
streamer.user.profile.needs_review = True
streamer.user.profile.save()
そして、それは働いたが、やってませんでした:
profile = streamer.user.profile
profile.needs_review = True
profile.save()
をより良い私はこのになった理由は、私が実行して
profile
モデルに保存定期的に行うようにしようとしていたを説明するために
はうまく機能しました。
あなたの 'user'モデルを表示してください。 – Alasdair
これはdjangoの標準ユーザーモデルです – enapupe
フィールドを変更した後に '.save()'を実行すると変更されますか? –