在django admin的更改列表中,我想使用list_editable爲ManyToManyField顯示一個django-autocomplete小部件。django admin更改列表中的ManyToManyField小部件?
我發現類似的東西在這裏:list_editable and widgets
通常包括list_display一個ManyToManyField引發ImproperlyConfigured例外,如:
「」 'BookAdmin.list_display [2]', '作者' 是不被支持ManyToManyField。」
I(也許不明智)除去從的contrib /管理/ validate.py 3線繞過例外。:)
我現在已經把它吐出了下面這個,它接近(?)但沒有雪茄。在0x1032a85d0 >
對如何進行任何想法
< django.db.models.fields.related.ManyRelatedManager對象?有沒有更好的方法來做到這一點?
這就是我目前所面對的:(AuthorAutocomplete在常規管理的形式工作的罰款)
class AuthorAutocomplete(AutocompleteSettings): search_fields = ('first_name', 'last_name') class BookAdmin(AutocompleteAdmin, admin.ModelAdmin): def get_changelist_form(self, request, **kwargs): kwargs.setdefault('form', AuthorAutocompleteForm) return super(BookAdmin, self).get_changelist_form(request, **kwargs) list_display = ['isbn', 'title', 'author', 'publisher'] #... class AuthorAutocompleteForm(forms.ModelForm): class Meta: model = Book author = AuthorAutocomplete
謝謝!
壞開發者,壞。永遠不要永遠不要改變Django源代碼。我還沒有試圖自己做這件事,但是如果管理員應用程序明確禁止'ManyToManyFields',那麼有一個原因。某些地方在保存模型的過程中無法正常運行。如果這是對您來說很重要的功能,請考慮爲其提供一個錯誤。否則,你可能只是運氣不好。修補Django源代碼將爲您和任何可能在未來繼承您的代碼的可憐的開發人員創建維護夢魘。 –