Cer*_*rin 17 python django django-admin
默认情况下,Django的管理员将admin中的ForeignKey字段作为选择字段呈现,列出外表中的每个记录作为选项.在一个可管理的模型中,我将User模型引用为ForeignKey,因为我有成千上万的用户,Django正在使用数千个选项填充选择.这导致管理页面加载速度极慢,而选择不是很有用,因为它可能需要一段时间才能滚动数千个选项来找到你想要的那个.
更改此字段的呈现以改善页面加载和可用性的最佳方法是什么?我希望将select字段替换为某种按钮以启动搜索表单弹出窗口,或者通过Ajax搜索关键字以查找要关联的特定用户的Id的文本字段.管理员是否有类似内置的内容,或者我是否必须从头开始编写?
你是对的,Cerin,速度变慢的原因是 Django<select>用太多选项填充元素。您可能希望改用自动完成元素。
有趣的是,Django 2.0 在管理站点上引入了一个名为 的新功能autocomplete_fields,我认为在这种情况下您会发现它很有用。它使用 AJAX。
class ExampleAdmin(models.ModelAdmin):
autocomplete_fields = ['example_field_user']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5910 次 |
| 最近记录: |