第一次在这里发布:) 我正在通过一个简单的相册应用程序学习python和django框架。我现在仅在管理站点中工作,而django是v.2.1。
有一个相册表和一个图像表。相册可以包含许多图像,并且图像可以与许多相册相关联,因此我通过中介表对多对多关系进行了建模。
我的相册更改页面上有一个内联的图像。所有这些都很简单,并且效果很好。
除了两个父表PK之外,中间表还具有一个额外的布尔字段“ isCover”,以便用户可以选择相册中的图像作为封面。但是,在内联中,无法强制仅检查一张图像作为封面。另外,如果用户没有选择第一张图像,我希望可以自动选择第一张图像作为封面。
那怎么实现?
在此先感谢您提供任何见解! 乔
答案 0 :(得分:0)
您可以在许多字段中使用through关键字创建中间表:
class Album(models.Model):
name = models.CharField(max_length=100)
class Image(models.Model):
image = models.ImageField()
album = models.ManyToManyField(Album, through=AlbumImage)
class AlbumImage(models.Model):
image = models.ForeignKey(Image)
album = models.ForeignKey(Album)
is_cover = models.BooleanField()