MDN Django TypeError: объект 'NoneType' не является вызываемым

В приведенном ниже коде у меня есть модель книги, и я пытаюсь зарегистрировать эту модель вместе с List Display с помощью декоратора. К сожалению, я получаю ошибку, указанную ниже, говорящую, что в классе Model List Display произошла ошибка TypeError, где объект NonType не является вызываемым. Я искал решения, но не нашел ни одного, поэтому было бы неплохо получить помощь. Я следую учебнику MDN BTW, https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Admin_site. Спасибо за помощь!

Модель книги

class Book(models.Model):
    title = models.CharField(max_length=200)
    author = models.ForeignKey('Author', on_delete=models.SET_NULL, null=True)
    summary = models.TextField(max_length=1000, help_text='Enter a brief description of the book')
    isbn = models.CharField('ISBN', max_length=13, unique=True,
                            help_text='13 Character <a href="https://www.isbn-international.org/content/what-isbn'
                                      '">ISBN number</a>')
    genre = models.ManyToManyField(Genre, help_text='Select a genre for this book')

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('book-detail', args=[str(self.id)])

    def display_genre(self):
        return ', '.join(genre.name for genre in self.genre.all()[:3])

    display_genre.short_description = 'Genre'

Модель книги в админке с отображением списка

@admin.site.register(Book)
class BookAdmin(admin.ModelAdmin):
    list_display = ('title', 'author', 'display_genre')

Ошибка

    class BookAdmin(admin.ModelAdmin):
TypeError: 'NoneType' object is not callable

Попробуйте это

def display_genre(self, book):
    return ', '.join(genre.name for genre in book.genre.all()[:3])

(полное раскрытие: это не мое исправление. Похоже, это ошибка в учебнике, и была просьба изменить ее, как отмечено в заметке https://github.com/mdn/content/pull/16186/files)

Вернуться на верх