Ho un layout di modello di Django che sembra qualcosa di simile:Django admin - miscelazione più inlines modello in un'unica interfaccia di amministrazione
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
In generale, mi piacerebbe mostrare le informazioni elencate per autore e allineati secondo alcuni informazioni, come pub_date, in modo che l'utente finale potrebbe vedere qualcosa di simile:
Autore A:
- Poem 1
- Poem 2
- Book 1
- Poem 3
- Libro 2
Autore B:
- Book 1
- Book 2
- Poem 1
- Poem 2
- Libro 3
E così via. Posso capire come visualizzarli sul front-end (posso usare django-polimorfico o semplicemente combinare author.book_set.all() e author.poem_set.all() in una singola lista e ordinarli). Ma non riesco a capire come implementarlo nel sito di amministrazione. Vorrei che la struttura di essere esattamente lo stesso come sopra - in modo che quando clicco su un Autore che avrei avuto:
- linea per Poem 1
- linea per Poem 2
- linea per Book 1
- linea per Poem 3
- linea per Book 2
Se ho semplicemente collegare Poesia e Book come TabularInlines, sarebbero essere separato fuori nel fieldsets separate, come così:
- linea per Poem 1
- linea per Poem 2
linea per Poem 3
linea per Book 1
- linea per Book 2
Ma penso che sia importante per la funzionalità che siano mescolati insieme in un singolo campo et (con i campi specifici per la classe di un altro bambino in grigio o non presenti per ogni inline). Qualcuno ha qualche idea su come implementarlo?