我正在尝试为外键模型字段自定义由 autocomplete_fields 呈现的小部件。基本上问题是小部件对于内容来说太窄了,它在选择中分成两行:
我已经看到 JS 库或 JQuery 插件被称为 Select2 并且它有一个 “dropdownAutoWidth”来使它适应这种工作的父元素大小,但我完全不知道如何从 admin.py 设置该选项,因为似乎选项从未在 django.contrib.admin.widgets.AutocompleteMixin.media 的代码中传递:
def media(self):
extra = '' if settings.DEBUG else '.min'
i18n_name = SELECT2_TRANSLATIONS.get(get_language())
i18n_file = ('admin/js/vendor/select2/i18n/%s.js' % i18n_name,) if i18n_name else ()
return forms.Media(
js=(
'admin/js/vendor/jquery/jquery%s.js' % extra,
'admin/js/vendor/select2/select2.full%s.js' % extra,
) + i18n_file + (
'admin/js/jquery.init.js',
'admin/js/autocomplete.js',
),
css={
'screen': (
'admin/css/vendor/select2/select2%s.css' % extra,
'admin/css/autocomplete.css',
),
},
)
Run Code Online (Sandbox Code Playgroud)