models.py
class Gallery(models.Model):
name = models.CharField(max_length=100)
class Image(models.Model):
in_gallery = models.ManyToManyField(Gallery, blank=True)
title = models.CharField(max_length=100)
class ImageInGallery (models.Model):
image = models.ForeignKey(Image, blank=True, null=True, on_delete=models.DO_NOTHING)
gallery = models.ForeignKey(Gallery, blank=True, null=True, on_delete=models.DO_NOTHING)
点击查看添加图库的我的管理页面截图
点击查看添加图片的管理页面截图
看看屏幕截图。 (为简单起见,忽略我在 models.py 代码中未显示的字段)查看我在添加Gallery
和Image
的管理页面中的区别.....我无法将图像添加到图库
如何解决这个问题?
ImageInGallery 的目的是什么?
你必须使用through
参数。
既然你在Image
中定义了ManyToManyField
,那么你已经有了双边关系。
如果您希望所有库都与Image
的image1
实例相关,则可以执行以下操作:
image1.galleries.all()
如果你想要与Gallery
实例相关的图像gallery1
你可以这样做:
galleries.image_set.all()
在文档中,您的图库是"出版物",图像是"文章"。