Django:InlineAdmin和ManyToManyField与'通过'

Ber*_*ant 5 django django-admin manytomanyfield

我有一个简单的Gallery模型,Image通过具有ordering-attribute 的表通过多对多关系与模型相关:

# 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,)
Run Code Online (Sandbox Code Playgroud)

我正在通过内联管理员编辑"通过"表.

我想做的是能够直接在内联管理员上传/编辑图像,所以我想知道是否有人知道现有的片段,这允许我编辑'通过'的字段 - table与引用模型的字段(图像)一起,不需要编辑外键选择....

Nat*_*lin -1

我可能没有理解你的问题。你不能只使用:

类 ImageAdmin (admin.ModelAdmin)

inlines = (ImageGalleryAdmin,)
Run Code Online (Sandbox Code Playgroud)

admin.site.register(图像,ImageAdmin)