Mam układ modelu Django, który wygląda mniej więcej tak:Django Admin - Mieszanie wielu modeli inlines w jednym interfejsie administratora
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
Ogólnie rzecz biorąc, chciałbym pokazać informacje wymienione przez autora i klasyfikowane przez niektórych informacje, jak pub_date, tak że użytkownik końcowy będzie zobaczyć coś takiego:
Autor A:
- Poem 1
- Wiersz 2
- Book 1
- wiersz 3
- Book 2
Autor B:
- Book 1
- Book 2
- wiersz 1
- wiersz 2
- Książka 3
I tak dalej. Mogę wymyślić, jak wyświetlić te na front-end (mogę albo użyć django-polimorficzne lub po prostu połączyć author.book_set.all() i author.poem_set.all() w jedną listę i sortować). Ale NIE MOŻNA dowiedzieć się, jak to zaimplementować na stronie administratora. Chciałbym strukturę być dokładnie takie same jak powyżej - tak, że gdy kliknę Autor A ja dostać:
- inline dla Poem 1
- inline dla Poem 2
- inline dla książki 1
- liniowe dla Poem 3
- liniowe dla Book 2
Jeśli po prostu dołączyć Poem i książki jak TabularInlines, byłyby oddzielane w oddzielnych fieldsets jak sposób:
- liniowe dla Wiersz 1
- liniowe dla Poem 2
liniowe dla Wiersz 3
rolki dla książki 1
- liniowe dla Book 2
Myślę jednak, że ważne jest, aby funkcje były mieszane razem w pojedynczych polach et (z polami właściwymi dla innej klasy podrzędnej, które są szare lub nieobecne dla każdego wbudowanego). Czy ktoś ma jakiś pomysł, jak to wdrożyć?