2015-04-16 2 views
0

как можно кэшировать obj (не created)как я могу кэшировать get_or_create кортеж - Джанго

obj, created = MyModel.objects.get_or_create(id=someid) 

Я не могу сделать:

cached_tuple = cache.set('cachekey', obj, created, 600) 

какие-нибудь идеи?

+0

Честно говоря, я не совсем уверен, что вы пытаетесь достичь Вот. Я не могу попробовать это сейчас, к сожалению, но считаете ли вы попыткой кэшировать оба значения как кортеж? – mephisto

+0

Зачем вам нужно кэшировать кортеж? –

+0

@ DanielRoseman обновленный вопрос – doniyor

ответ

2

Вам нужен created булевский кеш? Вы можете кэшировать оба отдельно:

cache.set('cachekey_obj', obj, 600) 
cache.set('cachekey_created', created, 600) 

Но я не уверен, что вы хотите с этим. Можно также попробовать:

tpl = MyModel.objects.get_or_create(id=someid) 
cache.set('cachekey', tpl, 600) 

, а затем это должно работать, но я не проверял прямо сейчас:

obj, created = cache.get('cachekey') 
Смежные вопросы