1

我有兩個型號:Django管理緩存M2M關係

models.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) 

admin.py

class CompanyAdmin(admin.ModelAdmin): 
    search_fields = ('title',) 
    filter_horizontal = ('cities',) 

它是在數據庫中大約23000個城市。

當我編輯管理公司的詳細信息它永遠加載! 只需訪問admin/myapp/company/12 /需要2-3分鐘 - 這太可怕了。

我該如何加快速度和緩存城市模型查詢集?

回答

0

您可以使用raw_id_fields

class CompanyAdmin(admin.ModelAdmin): 
    raw_id_fields = ("cities",)