Python Django管理员:列表中的预取选项\u可编辑

Python Django管理员:列表中的预取选项\u可编辑,python,sql,django,django-admin,Python,Sql,Django,Django Admin,我有一个模型域,我在列表中设置它为外键语言模型在模型管理员中可编辑 问题是,它会导致根据django\u debug\u工具栏进行大量的SQL查询。我认为我可以使用select\u related解决它,但它没有帮助,因为它只选择实际值,而不是所有选项 @register(Domain) class DomainAdmin(admin.ModelAdmin): list_display = ['id', 'name', 'main_url', 'language', 'max_depth

我有一个模型
,我在
列表中设置它为
外键
语言模型
模型管理员
中可编辑

问题是,它会导致根据
django\u debug\u工具栏
进行大量的
SQL
查询。我认为我可以使用
select\u related
解决它,但它没有帮助,因为它只选择实际值,而不是所有选项

@register(Domain)
class DomainAdmin(admin.ModelAdmin):
    list_display = ['id', 'name', 'main_url', 'language', 'max_depth', 'number_of_urls']
    list_editable = ['name', 'main_url', 'language', 'max_depth']
    list_select_related = ['language']

    #def get_queryset(self, request):
    #    return super(DomainAdmin, self).get_queryset(request).prefetch_related('language')
它仍然对每个
域执行
SQL
查询,以获取所有
语言
对象


如何让它一次获取所有的
s?

Django cachalot在Django管理网站中特别有效,因为它不幸地优化得很糟糕(如果需要确信,请使用列表中的外键进行编辑)。


您解决了这个问题吗?我也面临着同样的问题,我是为列表而做的,但不是为管理中的更改或添加视图而做的