2015-02-11 48 views
0

一個ForeignKey啓用自動完成通常情況下,我能夠在admin.py自動完成:Django管理 - 自動完成光:在一個自定義的ModelForm

class MyModelAdmin(admin.ModelAdmin): 
    form = autocomplete_light.modelform_factory(MyModel) 

admin.site.register(MyModel, MyModelAdmin) 

不過,這一次在我的ModelAdmin,表單屬性指向自定義forms.ModelForm:

class MyModelForm(forms.ModelForm): 
    point = GeopositionField() 
    form_postal_code = forms.CharField() 

    class Meta: 
     model = Site 
     fields = ['geo_point', 'postal_code_key', 'location_key'] # 'location_key' is the foreign key I need to be autocomplete enabled 
     widgets = {'geo_point': forms.HiddenInput(), 'postal_code_key': forms.HiddenInput()} 

    def __init__(self, *args, **kwargs): 
     ### 

    def validate_unique(self): 
     ### 

我的目的是啓用這是一個ForeignKey的「location_key」屬性自動完成。

我正在尋找documentation,但我無法弄清楚如何讓生活得到滿足。

回答

0

最後,我發現在documentation答案:

class MyModelForm(forms.ModelForm): 
    point = GeopositionField() 
    form_postal_code = forms.CharField() 
    location_key = autocomplete_light.ModelChoiceField('LocationAutocomplete') 

    class Meta: 
     model = Site 
     fields = ['geo_point', 'postal_code_key', 'location_key'] # 'location_key' is the foreign key I need to be autocomplete enabled 
     widgets = {'geo_point': forms.HiddenInput(), 'postal_code_key': forms.HiddenInput()} 

    def __init__(self, *args, **kwargs): 
     ### 

    def validate_unique(self): 
     ###