在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源代码将为您和任何可能在未来继承您的代码的可怜的开发人员创建维护梦魇。 –