Ich habe ein Layout Django-Modell, das etwa wie folgt aussieht:Django Admin - Mischen mehrerer Modell inlines in einzelnen Admin-Interface
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
Allgemein gesprochen, ich möchte Informationen von Autor gelistet zeigen und von einigen sortiert Informationen, wie pub_date, so dass der Endbenutzer sehen würde, so etwas wie:
Autor A:
- Poem 1
- Poem 2
- Buch 1
- Gedicht 3
- Buch 2
Autor B:
- Buch 1
- Buch 2
- Poem 1
- Poem 2
- Buch 3
Und so weiter. Ich kann herausfinden, wie diese am Front-End angezeigt werden (ich kann entweder django-polymorph oder einfach die author.book_set.all() und author.poem_set.all() in einer einzigen Liste kombinieren und sortieren). Aber ich kann nicht herausfinden, wie man das in der Admin-Site implementiert. Ich würde die Struktur wie genau wie oben gleich zu sein - so dass, wenn ich auf Autor A klicken würde ich bekommen:
- inline für Poem 1
- inline für Poem 2
- inline für Buch 1
- inline für Poem 3
- inline für Buch 2
Wenn ich einfach Poem und Buch als TabularInlines befestigen, würden sie ausgesondert in separate Fieldset werden, wie so:
- inline für Poem 1
- inline für Poem 2
inline für Poem 3
inline zum Buch 1
- inline für Book 2
Aber ich denke, es ist wichtig für die Funktionalität, dass sie in einem einzigen Feld zusammengefügt werden et (wobei die Felder, die für die andere Kindklasse spezifisch sind, entweder ausgegraut oder nicht für jedes Inline-Element vorhanden sind). Hat jemand eine Idee, wie man das umsetzt?