У меня есть макет модели Django, который выглядит примерно так:
class Author(models.Model):
    name = models.CharField(max_length=50, unique=True)
class Publication(models.Model):
    author = models.ForeignKey(Author)        
    #Some shared fields
    class Meta:
        abstract = True
class Book(Publication):
    #Book specific fields
class Poem(Publication):
    #Poem specific fields
Вообще говоря, я хотел бы показать информацию, указанную автором, и отсортировать ее по некоторой информации, например pub_date, чтобы конечный пользователь увидел что-то вроде:
Автор A:
- Поэма 1
- Поэма 2
- Книга 1
- Поэма 3
- Книга 2
Автор B:
- Книга 1
- Книга 2
- Поэма 1
- Поэма 2
- Книга 3
И так далее. Я могу понять, как отображать их на интерфейсе (я могу либо использовать django-polymorphic, либо просто объединить author.book_set.all() и author.poem_set.all() в один список и отсортировать). Но я НЕ МОГУ понять, как реализовать это на сайте Admin. Я хотел бы, чтобы структура была точно такой же, как и выше, так что, когда я нажимаю на Author A, я получаю:
- inline для Poem 1
- inline для Poem 2
- встроенный для книги 1
- inline для Поэмы 3
- inline для книги 2
Если я просто присоединяю стихотворение и книгу как TabularInlines, они будут разделены на отдельные поля, например:
- inline для Poem 1
- inline для Poem 2
-  inline для Poem 3 
-  inline для книги 1 
- inline для книги 2
Но я считаю важным, чтобы они были объединены вместе в одном наборе полей (с полями, специфичными для другого дочернего класса, либо серыми, либо отсутствующими для каждого встроенного). Кто-нибудь знает, как это реализовать?
