我正在尝试使用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为甚麽呢?有没有比我发现的更好的方法(即单类定义)来做这件事?
发布于 2016-01-02 10:44:07
第一个代码不起作用,因为它在modeladmin类中设置了表单字段,这是完全没有理由起作用的,您在任何文档中都没有看到过。
你有没有试过这个?
@admin.register(RaffleTicket)
class RaffleTicketAdmin(admin.ModelAdmin):
model = RaffleTicket
form = autocomplete_light.modelform_factory(RaffleTicket)https://stackoverflow.com/questions/34227076
复制相似问题