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管理网站中特别有效,因为它不幸地优化得很糟糕(如果需要确信,请使用列表中的外键进行编辑)。
您解决了这个问题吗?我也面临着同样的问题,我是为列表而做的,但不是为管理中的更改或添加视图而做的