目录

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 Cookbook-35如何使用带有大量对象的FK管理模型

返回目录

相关文章:

  • 2022-03-02
  • 2022-01-17
  • 2021-09-05
  • 2022-02-14
  • 2021-06-09
  • 2022-12-23
  • 2021-10-25
  • 2021-06-09
猜你喜欢
  • 2021-07-17
  • 2022-01-05
  • 2021-06-20
  • 2022-01-16
  • 2022-01-09
  • 2021-08-12
  • 2021-10-01
相关资源
相似解决方案