Django admin:将选定的相关字段框更改为自动完成

Bre*_*den 18 django autocomplete foreign-keys django-admin

我们有一些模型将用户作为外键.但是在我们的系统中有大约25000个用户,找到我们需要的用户有点令人生畏.

有没有比选择框更好的解决方案?也许是自动完成,所以我们可以开始输入用户名/地址?或者只是一个搜索框?当为这些对象切换相关用户时,25000未分类用户变得越来越难.

即使只是将其设置为按用户名对用户进行排序也会有所帮助.

Eti*_*nne 28

我有这个问题,我的结论是使用自动填充字段.在大多数情况下,它的效果非常好.唯一的问题是当你有很多条目大致相同时.例如,在您的情况下,如果您键入Robert作为名称,并且列表中有几百个Robert条目...

有许多应用程序可以为Django管理员添加自动完成功能:

我最喜欢的是最后一个.它编写得很好,可以与管理员和管理员一起使用,它可以与ManyToManyFields,ForeignKeyFields,CharFields等一起使用.

我为我的客户做了一个这个项目的分支,增加了一些像查找(放大镜)按钮的细节ForeignKeyRawIdWidget.


shu*_*ckc 26

Django 2.0管理员内置了自动完成功能,只需autocomplete_fieldsModelAdmin课堂上设置字段即可.例如

class QuestionAdmin(admin.ModelAdmin):
    ordering = ['date_created']
    search_fields = ['question_text']

class ChoiceAdmin(admin.ModelAdmin):
    autocomplete_fields = ['question']
Run Code Online (Sandbox Code Playgroud)


DrM*_*ers 5

最简单的开箱即用的解决方案是将字段添加到您ModelAdminraw_id_fields- 然后您将获得一个弹出窗口,您可以使用内置的搜索/过滤和分页控件来查找和选择你追求的对象.

如果你真的想要自动完成,那么其他答案会给你一个合理的起点.