我已经按照django-autocomplete-light教程进行了操作 http://django-autocomplete-light.readthedocs.io/en/master/tutorial.html 但我有以下问题。
我有一个模特
class Order(models.Model):
client = models.ForeignKey(Client)
product = ....
如果我按照教程
中的描述创建表单class OrderForm(forms.ModelForm):
class Meta:
model = Order
fields = ('__all__')
widgets = {
'client': autocomplete.ModelSelect2(url='ordersapp:client-autocomplete')
}
和admin.py
class OrderAdmin(admin.ModelAdmin):
form = OrderForm
我得到了所需的结果,这是客户提交的自动完成功能。
但如果我不想创建表单而改为使用
class OrderAdmin(admin.ModelAdmin):
.....
有没有办法让客户端字段的自动完成小部件? 我感谢任何帮助。
答案 0 :(得分:0)
我最终像这样覆盖get_form并且它有效
def get_form(self, request, obj=None, **kwargs):
form = super(OrderAdmin, self).get_form(request, obj, **kwargs)
form.base_fields['client'].widget = autocomplete.ModelSelect2(url='ordersapp:client-autocomplete')
return form