2009-07-21 13 views
0

Ich habe einfache Modelle mit generischen Beziehungen von this example at the Django Project:Zeigen ähnlichen inlines im Admin auf Form des Modells mit GenericForeignKey

class Image(models.Model): 
    image = models.ImageField(upload_to="images") 

class ImageLink(models.Model): 
    image = models.ForeignKey(Image) 
    content_type = models.ForeignKey(ContentType) 
    object_id = models.PositiveIntegerField() 
    content_object = generic.GenericForeignKey("content_type", "object_id") 

class Product(models.Model): 
    name = models.CharField(max_length=100) 

Es ist sehr einfach inline Imagelink Objekte auf der Server-Betreiber Form von Produkten zeigen . Es wird gezeigt, in the Django docs.

Kann jemand empfehlen, wie image inline auf dem Server-Betreiber Form eines Bild Modell bezogen haben?

WICHTIGER UPDATE: Aktualisiertes Beispiel des Modells, mit vorheriger, wie Daniel sayd, es ist nicht notwendig, Objekte inline anzuzeigen.

Antwort

1

Es ist notwendig Verwendung generic.GenericTabularInline zur Darstellung Imagelink Objekte inline auf der Produkt Form, wie sie in den Django docs demonstriert.

Aber wenn wir ähnlichen Imagelink inline auf der Bild Form zeigen müssen, kann es mit einfachem Kind admin.TabularInline Klasse erfolgen.

Es ist eine sehr einfache Lösung. Ich denke, ich bin dumm, es nicht sofort zu erraten.

0

Sie haben keine verwandten Produkte inline anzuzeigen. Generische Fremdschlüssel, wie normale, sind Eins-zu-Viele, wobei die "Eins" -Seite der Relation diejenige ist, die das Fremdschlüsselfeld enthält. In Ihrem Fall haben Sie immer noch nur ein Produkt für jedes Bild, so dass kein Inline-Set angezeigt wird.

+0

Sie sind absolut richtig. Ich habe einen Fehler in meinem Beispiel. Und ich weiß jetzt, wie ich mein Problem lösen kann. – ramusus

Verwandte Themen