ModelAdmin.autocomplete_fields 看起来很容易在 Django 管理员中实现:
class UserAdmin(admin.ModelAdmin):
autocomplete_fields = ['material']
admin.site.register(User, UserAdmin)
class MaterialAdmin(admin.ModelAdmin):
search_fields = ['name']
admin.site.register(Material, MaterialAdmin)
它正确呈现该字段(作为搜索字段而不是下拉菜单),但搜索字段显示“无法加载结果”并检查显示:
*/admin/autocomplete/403(禁止)jquery.js:9203
我假设从 Material 模型接收数据时存在 csrf 问题。我研究了从 csrf 中免除此请求的方法,但无法通过 ModelAdmin.autocomplete_fields 弄清楚如何做到这一点。
我也尝试使用 django-autocomplete-light 并且无法使其正常工作。