Как сделать метод поиска в приложении django

У меня есть три модели. Как сделать метод поиска для совместного просмотра трех моих моделей. Например, если я ищу слово "синяя птица" в строке поиска, я хочу, чтобы он просматривал три модели и возвращал мне результат. Я видел на форуме метод chain, который можно импортировать из itertools, но я не знаю, как его использовать!

models.py

class Category(models.Model):
    name = models.CharField(max_length=250)
    description = models.TextField(blank=True)

    def __str__(self):
        return self.name


class Author(models.Model):
    name = models.CharField(max_length=250)
    photo = models.ImageField(upload_to='pics/authors/', default='pics/default-author.jpg')
    biography = models.TextField(blank=True)

    def __str__(self):
        return self.name


class Book(models.Model):
    author = models.ManyToManyField(Author)
    editor = models.CharField(max_length=250, blank=True)
    title = models.CharField(max_length=250)
    description = models.TextField(blank=True)
    date_added = models.DateField(auto_now_add=True)
    updated = models.DateField(auto_now=True)
    cover = models.ImageField(upload_to='pics/covers/', default='pics/default-cover.jpg')
    pdf_file = models.FileField(upload_to='pdfs/books/', default='pdfs/default-pdf.pdf')
    categories = models.ForeignKey(Category, on_delete=models.CASCADE)

    def __str__(self):
        return self.title
Вернуться на верх