我正在尝试使用 django-autocomplete-light 向 Django Admin 表单添加一些不错的自动完成功能。(DAL 似乎是最好的/最受欢迎的,并且似乎有很多很棒的功能,很遗憾文档的结构如此糟糕)。
如果我创建这样的管理表单,则不会创建自动完成字段:
@admin.register(RaffleTicket)
class RaffleTicketAdmin(admin.ModelAdmin):
model = RaffleTicket
code = forms.IntegerField()
bought_by = autocomplete_light.ModelChoiceField('PersonAutocomplete')
但是如果我创建一个普通的ModelForm
(我从未在其他任何地方使用过)并将其直接推入我的,它就可以工作ModelAdmin
,如下所示:
class RaffleTicketForm(forms.ModelForm):
code = forms.IntegerField()
bought_by = autocomplete_light.ModelChoiceField('PersonAutocomplete')
@admin.register(RaffleTicket)
class RaffleTicketAdmin(admin.ModelAdmin):
model = RaffleTicket
form = RaffleTicketForm
为什么会这样?有没有比我发现的更好的方法(即单一类定义)来做到这一点?