我很好奇,既然 Django admin 中有使用 autocomplete_fields 的 select2 实现,为什么它在我的应用程序之外也不能在 admin 之外使用?
我正在使用 django-select2 但一直想知道自己是不是做错了,找不到任何答案。
编辑
根据要求,这是我目前如何在 Django 3.0.6 中使用 django-select2 的代码片段。我很快找到了一个与 inlineformset_factory 一起使用的,它有效:
设置.py
INSTALLED_APPS = [
...,
'django_select2',
]
网址.py
...
path("select2/", include("django_select2.urls")),
...
表格.py
class SiteMaterialDetailsForm(forms.ModelForm):
class Meta:
model = SiteMaterialDetails
fields = '__all__'
widgets = {
'material': Select2Widget,
}
模型.py
class SiteMaterialDetails(models.Model):
sitematerial = models.ForeignKey(SiteMaterial, on_delete=models.CASCADE)
material = models.ForeignKey(Material, on_delete=models.CASCADE)
quantity = models.IntegerField(default=0)
在模板中
{% block head %}
{{ block.super }}
{{ formset.media.css }}
{% endblock %}
...
{{ formset.media.js }}
希望它确实有意义:)