Django管理缓存m2m关系
我有两种型号: 型号.pyDjango管理缓存m2m关系,django,django-models,django-cache,django-caching,django-cache-machine,Django,Django Models,Django Cache,Django Caching,Django Cache Machine,我有两种型号: 型号.py class City(models.Model): title = models.CharField(max_length=255) show = models.BooleanField(default=True) class Company(models.Model) title = models.CharField(max_length=255) cities = models.ManyToManyField(City, null
class City(models.Model):
title = models.CharField(max_length=255)
show = models.BooleanField(default=True)
class Company(models.Model)
title = models.CharField(max_length=255)
cities = models.ManyToManyField(City, null=True, blank = True)
class CompanyAdmin(admin.ModelAdmin):
search_fields = ('title',)
filter_horizontal = ('cities',)
admin.py
class City(models.Model):
title = models.CharField(max_length=255)
show = models.BooleanField(default=True)
class Company(models.Model)
title = models.CharField(max_length=255)
cities = models.ManyToManyField(City, null=True, blank = True)
class CompanyAdmin(admin.ModelAdmin):
search_fields = ('title',)
filter_horizontal = ('cities',)
数据库中大约有23000个城市
当我在管理中编辑公司详细信息时,它将永远加载仅仅访问admin/myapp/company/12/需要2-3分钟-这太可怕了。
如何加快速度并缓存城市模型查询集?您可以使用
对于一个数据库来说,23000实际上是“零”
首先,您需要确定减速的“罪魁祸首”,即哪个查询速度慢。这是一个很有帮助的地方。然后,您可以使用EXPLAIN
手动运行查询,并查看可以改进的地方—例如,添加索引可能会有所帮助
也可以考虑使用或包。
另见: