Django 如何将memonization应用于get、get\u或\u create等queryset方法
在我的代码中,我需要缓存一些查找,如:Django 如何将memonization应用于get、get\u或\u create等queryset方法,django,django-models,memoization,Django,Django Models,Memoization,在我的代码中,我需要缓存一些查找,如: MyModel.objects.get(slug='foo') MyModel.objects.get_or_create(slug='bar', defaults={'name':'bar'}) 为了避免对数据库的点击 我认为将记忆应用于这些方法可能是一个很好的解决方案,但我没有找到一个正确的方法来实现它 你能帮我吗 提前感谢这些方法会为您返回对象,因此您可以立即缓存它 from django.core.cache import cache a =
MyModel.objects.get(slug='foo')
MyModel.objects.get_or_create(slug='bar', defaults={'name':'bar'})
为了避免对数据库的点击
我认为将记忆应用于这些方法可能是一个很好的解决方案,但我没有找到一个正确的方法来实现它
你能帮我吗
提前感谢这些方法会为您返回对象,因此您可以立即缓存它
from django.core.cache import cache
a = cache.get('a')
if not a:
a = MyModel.objects.get(slug='foo')
cache.set('a', a)
b = cache.get('b')
if not b:
b, exists = MyModel.objects.get_or_create(slug='bar', defaults={'name':'bar'})
cache.set('b', b)
希望我没有误解你的问题