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管理模型的主要内容,如果未能解决你的问题,请参考以下文章

django的admin界面怎么没有样式

python之Django admin总结

django admin富文本编辑kindeditor

Python之Django基本命令

框架Django

Django Admin:为两个管理站点使用不同的模板