mit Django (Version 2) möchte ich eine App erstellen um zu verschiedenen Kameramodellen verschiedenste Dokumente zu erfassen (Texte, Bilder, Dateien). Von Anfang an ist nicht klar, wieviele Texte, Bilder und Dateien je Kamera hinzugefügt werden sollen. Daher hatte ich überlegt das Ganze als Generic Relation zu implementieren.
Nun habe ich in der models.py eine Klasse für "Device", eine für "Text", "File" und "Image" als auch ein model als generic relations namens "Inhalt", die wie folgt aussieht:
Code: Alles auswählen
class Inhalt(models.Model):
device = models.ForeignKey(Device, related_name='inhalte', on_delete=models.CASCADE)
created = models.DateTimeField(auto_now_add=True)
info = models.CharField(max_length=200, blank=True)
# Generic Relations Fields:
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE,
limit_choices_to={'model__in': ('text', 'image', 'file')})
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
...
Theoretisch kann ich auch eine object_id wählen, die "leer" ist, also die es noch nicht gibt. Es kommt keine Fehlermeldung, sondern es ist dann einfach nichts hinterlegt beim content_object (siehe obersten Eintrag):
Wie kann ich mir im Admin Bereich anzeigen lassen, was sich für ein Objekt hinter der objekt_id verbirgt?
Aus der Dokumentation werde ich nicht schlauer und im Netz suche ich schon seit Tagen... Tipps?
Oder gibt es eine andere Möglichkeit mein Ansinnen zu realisieren?
Grüße
sagro