2014-12-04 128 views
2

我设置Django & Redis项目并尝试在Redis中存储django模型对象。如果我使用下面的django.core.cache,card2被正确设置为django对象。但是,如果我使用由django_redis提供的原始redis conenction,它将获得django模型对象的字符串表示形式。在redis中存储和获取django模型对象

我设置了两个键如下。如何使用原始redis连接来获取卡对象本身而不是其字符串repr?我需要它,因为我想使用mgetzrange类似redis.py的方法。

from django.core.cache import cache 
from django_redis import get_redis_connection 

con = get_redis_connection("default") 
card = Card.objects.all()[0] 

key = "card_" + str(card.id) 

con.delete(key) 
cache.delete(key) 

con.set(key, card) 
cache.set(key, card) 

card1 = con.get(key) 
card2 = cache.get(key) 

回答

2

您必须手动将您的响应从redis转换为您的python对象。

提示:使用咸菜, 这里是一个例子:12