django 管理者の変更リストで、list_editable を使用して、ManyToManyField の django-autocomplete ウィジェットを表示したいと考えています。
ここで似たようなものを見つけました: list_editable と widgets
通常、list_display に ManyToManyField を含めると、ImproperlyConfigured 例外が発生します。例:
""'BookAdmin.list_display[2]'、'author' は、サポートされていない ManyToManyField です。"
例外を回避するために、contrib/admin/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
ありがとう!