データベースからDjangoオブジェクトの状態をリフレッシュすることはできますか?データベースからdjangoオブジェクトをリロードする
new_self = self.__class__.objects.get(pk=self.pk)
for each field of the record:
setattr(self, field, getattr(new_self, field))
UPD:トラッカーで再度開く/ WONTFIX戦争見つかり:http://code.djangoproject.com/ticket/901私はとほぼ同等の挙動を意味します。 メンテナがこれを気に入らない理由はまだ分かりません。
通常のSQLコンテキストでは、これは意味をなさない。データベースオブジェクトはトランザクションが終了した後にのみ変更することができ、 'コミットする 'ことができます。これを済ませたら、次のSQLトランザクションがコミットするのを待つ必要があります。それはなぜですか?どのくらい次の取引を待つつもりですか? –
これは不必要な機能のようです。データベースからオブジェクトをただちに再ルックアップすることはすでに可能です。 – Stephan
私はこれも好きですが、繰り返しここでシャットダウンされています(http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBkQFjAA&url=https%3A%2F%2Fcode.djangoproject .com%2Fticket%2F901&ei = xOP7TaaCNMv1gAen2pTeCw&usg = AFQjCNFs7kMieML6P8vlIeQplFJpVxQbTA) – eruciform