2010-12-03 6 views
5

Ich bin ein einfaches Gallery Modell haben, das zu einem Image Modell über eine many-to-many-Beziehung durch eine Tabelle, die eine ordering -Attribut hat verwandt ist:Django: InlineAdmin und ManyToManyField mit ‚bis‘

# models.py 
class Image(models.Model): 
    .... 

class Gallery(models.Model): 
    images = models.ManyToManyField(Image, through='ImageGallery') 
    .... 

class ImageGallery(models.Model) 
    image = models.ForeignKey(Image) 
    gallery = models.ForeignKey(Gallery) 
    ordering = models.PositiveIntegerField(_('ordering'), default=0) 

# admin.py 
class ImageGalleryAdmin(admin.ModelAdmin): 
    model = ImageGallery 

class GalleryAdmin(admin.ModelAdmin): 
    inlines = (ImageGalleryAdmin,) 

Ich bearbeite die 'durch' Tabelle über einen Inline-Administrator.

Ich möchte die Bilder direkt im Inline - Admin hochladen/bearbeiten können, also würde ich gerne wissen, ob jemand ein existierendes Snippet kennt, mit dem ich das Feld bearbeiten kann 'Through'-Tabelle zusammen mit den Feldern des referenzierten Modells (das Bild), nicht die Fremdschlüssel zu bearbeiten, wählen Sie ....

+0

Ich möchte das gleiche ... Um die Frage etwas zu verdeutlichen, sind bei Verwendung von Standard-Django-Inlines Attributen des endgültigen Modells nicht verfügbar - nur Attribute des 'Through'-Modells (zB der Order-Parameter) können im Inline bearbeitet werden. Ich denke, was gewünscht wird, ist, dass sowohl der Bestellparameter als auch die Parameter des verknüpften Objekts in derselben Zeile bearbeitet werden können. – bjw

Antwort

-1

Ich habe vielleicht Ihre Frage nicht verstanden. Kannst du nicht einfach verwenden:

Klasse ImageAdmin (admin.ModelAdmin)

inlines = (ImageGalleryAdmin,) 

admin.site.register (Bild, ImageAdmin)

Verwandte Themen