Django:ManyToMany关联不起作用



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 代码中未显示的字段)查看我在添加GalleryImage的管理页面中的区别.....我无法将图像添加到图库

如何解决这个问题?

ImageInGallery 的目的是什么?

你必须使用through参数。

既然你在Image中定义了ManyToManyField,那么你已经有了双边关系。

如果您希望所有库都与Imageimage1实例相关,则可以执行以下操作:

image1.galleries.all()

如果你想要与Gallery实例相关的图像gallery1你可以这样做:

galleries.image_set.all()

在文档中,您的图库是"出版物",图像是"文章"。

最新更新