2011-02-02 4 views
0

私はSQL(manage.py dbshell)を介してレコードを挿入しました。私はその後、Djangoの管理インターフェースでレコードを見に行きました。すべてのレコードが期待どおりに表示されました。Djangoはオブジェクトを完全に更新しません。キャッシュまたはインデックス?

しかし、Django(直接SQLではありません)経由のクエリはレコードを返しませんでした。私は管理者インターフェイスを介してレコードに行った後、Saveをクリックしただけで、レコードがクエリに表示されました。

私はDjangoの新機能ですが、Djangoのドキュメントを繰り返し検索して読み込んだ後、私は答えを見つけられませんでした。何が起こっているのか、そしてSQL INSERTステートメントをクエリに表示させるには、各レコードにSaveという管理インターフェイスを介してアクセスしてください。

+0

をあなたが何を意味するのです 『しかし、ジャンゴ(ない直接SQL)を介して任意のクエリは、レコードを返しませんでした。』 ?あなたは例を投稿できますか? –

+0

キャッシングが有効になっていますか? –

+0

私はDjangoを初めて使ったので、私を許してください。私はdbshel​​lでSQLを使用して照会すると、管理インターフェースを介してレコードを見ることができます。しかし、いくつかの日付基準を満たすすべてのレコードをリストするなどの管理インターフェースの一部ではない通常のコードは返されません。 – Brian

答えて

0

はたぶん、あなたは「dirty」トランザクションを宣言する必要があります。

from django.db import transaction 
transaction.set_dirty() 
+0

dbshel​​lで? Djangoが汚いトランザクションをどのようにマークしているかについての詳細を教えてください。 – Brian

+0

これがうまくいくかどうかは分かりません。 Djangoシェルで試すことができます( 'manage.py shell')。 Webサーバーを再起動しようとしましたか? – Don

関連する問題