我的应用程序已经增长,因此django管理员的下降有100,000个选项。我甚至无法打开我的管理员,因为它在数据库上加载了,不用太多提及我无法在选择框中找到一个选项。
django有自动填充选项吗?
在django admin中处理大数据的最佳选择是什么?
答案 0 :(得分:4)
Django 2.0在管理站点上引入了一项名为autocomplete_fields
的新功能,这对于具有外键的模型很有帮助。它使用自动完成元素替换普通<select>
元素:
class QuestionAdmin(admin.ModelAdmin):
ordering = ['date_created']
search_fields = ['question_text']
class ChoiceAdmin(admin.ModelAdmin):
autocomplete_fields = ['question']
这是元素的截图:
答案 1 :(得分:3)
使用raw_id_fields,如下所示:
class SomeModelAdmin(admin.ModelAdmin):
raw_id_fields = ('problematic_field', )
您可以在此处详细了解:
基本上 - 它会使用带有镜头图标的原始id字段更改选择框 - 这会打开另一个窗口进行更改。
答案 2 :(得分:3)
你的问题有很多解决方案,但我认为这有两种方法可行:
raw_id_fields
可能会对您有所帮助。这来自文档:默认情况下,Django的管理员使用选择框界面() ForeignKey的字段。有时你不想招致 必须选择要显示的所有相关实例的开销 下拉。
raw_id_fields是您要更改为的字段列表 输入ForeignKey或ManyToManyField的小部件:
class ArticleAdmin(admin.ModelAdmin):
raw_id_fields = ("newspaper",)