Чтобы отобразить ISBN, вы можете создать настраиваемое поле, например:
class BooksField(forms.ModelMultipleChoiceField):
def label_from_instance(self, obj):
return obj.isbn
Для ManyToManyField есть CheckboxSelectMultiple , но он не отображается корректно на администраторе, поэтому вы также можете написать несколько css, чтобы это исправить.
Вам необходимо создать форму для модели и использовать ее в своем классе администратора:
class AuthorForm(forms.ModelForm):
books = BooksField(Book.objects.all(), widget=forms.CheckboxSelectMultiple)
class Meta:
model = Author
class Media:
css = {
'all': ('booksfield.css',)
}
class AuthorAdmin(admin.ModelAdmin):
form = AuthorForm