В списке изменений администратора django я хочу использовать list_editable для отображения виджета django-autocomplete для ManyToManyField.
Я нашел что-то подобное здесь: list_editable и widgets
Обычно включение ManyToManyField в list_display вызывает исключение ImproperlyConfigured, например:
"" 'BookAdmin.list_display [2]', 'author' - это ManyToManyField, который не поддерживается. "
Я (возможно, неразумно) удалил 3 строки из contrib / admin / validate.py, чтобы обойти исключение. :)
У меня теперь есть выплевывание следующего, что близко (?), Но без сигары.
Есть мысли о том, как поступить? Есть ли лучший способ сделать это?
Вот что у меня есть на данный момент: (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
Спасибо!