2010-12-03 84 views
5
我有一个简单的模型 Gallery

,可经由经过一个表,有一个ordering -attribute一个多一对多的关系有关的Image型号:Django的:InlineAdmin和ManyToManyField与“到”

# 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,) 

我正在通过内联管理员编辑'through'表。

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

+0

我喜欢同样的事情...为了澄清这个问题,使用标准的django内联,最终模型的属性不可用 - 只有'through'模型的属性(例如order参数)才可以在内联中进行编辑。我认为需要的是链接对象的顺序参数和参数都可以在同一个内联中编辑。 – bjw 2013-04-12 15:51:58

回答

-1

我可能不知道你的问题。你就不能使用:

类ImageAdmin(admin.ModelAdmin)

inlines = (ImageGalleryAdmin,) 

admin.site.register(图片,ImageAdmin)