ModelAdmin.autocomplete_字段看起来很容易在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)
它正确地呈现字段(作为搜索字段而不是下拉列表),但搜索字段显示“结果无法加载”,并且inspect显示:
*/admin/autocomplete/403(禁止) jquery.js:9203
我假设存在从材料模型接收数据的csrf问题。我研究了从csrf中豁免此请求的方法,但无法通过ModelAdmin.autocomplete_字段找到如何做到这一点
我也试过使用django autocomplete灯光,但无法让它工作
如果您实现自己的
UserAdmin
,请确保按照documentation中的请求定义了search_fields
,或者使用Django的UserAdmin
作为基类此外,如果您刚刚升级了Django版本,但它停止工作,请清除缓存以加载适当的javascript文件
这是因为DAL和Django3.2+版本之间存在冲突。如果你关闭DAL,它可以解决这个问题。DAL的js重载Django的js,仅此而已。要了解更多信息,请点击链接 Dal's github issue
相关问题 更多 >
编程相关推荐