Django
フレームワークを使用して作成され、インスタンスで実行されるプロジェクトに取り組んでいGAE
ます。またmemcache
、デフォルトのキャッシュ バックエンドとして Google を使用します。このプロジェクトは Django 1.3 を使用して開発され、うまく動作します。しかし最近、Django 1.4 でプロジェクトを実行しようとしたところ、奇妙な例外が発生しました: argument of type 'Client' is not iterable
.
この例外の理由は、このコミットにあります。Django 1.3 以降に追加された 2 行を次に示します。
if (KEY_PREFIX + session_key) in cache:
return True
cache
これらの行は、オブジェクトが反復可能であることを前提としています。キャッシュ オブジェクト自体は、google.appengine.api.memcache.Client
プロジェクトの で指定されているクラスのインスタンスですsettings.py
。実際、このクラスは反復可能なインターフェースを提供しません。
だから私の質問:(もしそうなら)どのようmemcache
に動作するはずDjango 1.4
ですか?
アップデート。settings.py
これは、質問に関連する私たちの断片です。
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
CACHES = {
'default': {
'BACKEND': 'google.appengine.api.memcache.Client',
}
}