我使用文档中的模式在我的非地理模型上使用缓存机器的缓存管理器:
from django.db import models
from caching.base imoprt CachingManager, CachingMixin
class Zomg(CachingMixin, models.Model):
val = models.IntegerField()
objects = CachingManager()
但是我有几个包含 GeoDjango 字段类型的模型,因此必须使用 GeoManager,例如
class RecordArea(models.Model):
polygon = models.MultiPolygonField(srid=4326)
name = models.CharField(max_length=100)
...
objects = models.GeoManager()
如何将这两个管理器集成到我的地理模型中?我在 Django 1.5 / Python 2.7.5 上。
这指向覆盖我得到的 CachingManager,但是 Cache Machine 文档让我认为我需要确保 QuerySet 被缓存,即成为 CachingQuerySet:
从另一个管理器的 get_query_set 方法返回一个 CachingQuerySet 而不是继承 CachingManager