Django Admin Cookbook-35如何使用带有大量对象的FK管理模型
Posted superhin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django Admin Cookbook-35如何使用带有大量对象的FK管理模型相关的知识,希望对你有一定的参考价值。
35.如何使用带有大量对象的FK管理模型?
你可以通过如下代码创建大量Category对象:
categories = [Category(**{"name": "cat-{}".format(i)}) for i in range(100000)]
Category.objects.bulk_create(categories)
现在,Category拥有超过100000个对象,当您进入Hero修改页面是时,类别字段将是一个包含100000个选择下拉列表。这将使页面变慢并且下拉菜单难以使用。
你可以通过设置raw_id_fields,来更改后台对字段的处理方式:
@admin.register(Hero)
class HeroAdmin(admin.ModelAdmin, ExportCsvMixin):
...
raw_id_fields = ["category"]
这会将Hero管理页面更改为更改为:
添加类别弹出窗口,显示如下。
以上是关于Django Admin Cookbook-35如何使用带有大量对象的FK管理模型的主要内容,如果未能解决你的问题,请参考以下文章