相关疑难解决方法(0)

在Django表单中缓存ModelChoiceField或ModelMultipleChoiceField的查询集选项

在Django表单中使用ModelChoiceFieldModelMultipleChoiceField时,有没有办法传入一组缓存的选项?目前,如果我通过queryset参数指定选项,则会导致数据库命中.

我想使用memcached缓存这些选项,并在显示具有此类字段的表单时防止对数据库的不必要的命中.

django django-forms django-admin django-cache django-queryset

12
推荐指数
2
解决办法
4899
查看次数

admin中的可翻译Manytomany字段会生成许多查询

我正在使用django-parler(django-hvad的衍生物)进行翻译.在管理员显示具有多种关系的Foreignkey字段时,django为每个字段运行一个查询:

change_clinic__english____django_suit

change_clinic__english____django_suit

因此,当有300个服务时,会有尽可能多的查询.

我认为get_queryset上的prefetch_related不适用于mantomany过滤器/列表,如果我错了,请纠正我:

def get_queryset(self, request):
    return super(DoctorAdmin, self).get_queryset(request).prefetch_related('translations', 'services__translations')
Run Code Online (Sandbox Code Playgroud)

对查询数量没有影响.启用缓存上parler(如笔者建议在这里)也于事无补,因为相同的查询不重复,但这些过滤器的每一项被称为在翻译项目查询(IDS每一次都是不同的).所以,我要找的是内部过滤器上的select_related/prefetch_related.如果您已经解决了这个问题,我也会同时审核您的应用程序.

python django django-admin django-hvad django-parler

4
推荐指数
1
解决办法
1247
查看次数

具有内联模型的Django管理页面加载速度非常慢

我有一个Django管理页面,用于具有单个内联模型的模型.当内联模型有许多项目(如75)时,页面加载速度非常慢(大约30秒).即使我排除了内联模型中的所有字段,只需渲染名称,也是如此.删除内联模型会导致页面加载速度非常快(以秒为单位).

如何让此页面加载速度更快?

django django-admin

2
推荐指数
1
解决办法
2043
查看次数