第一次发布在这里:)我正在通过一个简单的相册应用程序学习python和django框架。我现在只在管理网站上工作,而django是v.2.1。
有一个相册表和一个图像表。相册可以有许多图像,图像可以与许多相册相关联,因此我通过中间表对多对多关系进行了建模。
我的相册更改页面内嵌了图像。这一切都很简单,效果很好。
除了两个父表PK之外,中间表还有一个额外的布尔字段“isCover”,以便用户可以选择相册中的图像作为封面。但是,在内联中没有办法强制执行只有一个图像被检查为封面。另外,如果用户没有选择任何图像,我希望自动选择第一张图像作为封面的功能。
怎么能实现呢?
提前感谢任何见解!乔
您可以在多个到多个字段中使用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()