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)
希望我没有误解你的问题