django:布局字段在子行之间互斥

问题描述 投票:0回答:1

第一次发布在这里:)我正在通过一个简单的相册应用程序学习python和django框架。我现在只在管理网站上工作,而django是v.2.1。

有一个相册表和一个图像表。相册可以有许多图像,图像可以与许多相册相关联,因此我通过中间表对多对多关系进行了建模。

我的相册更改页面内嵌了图像。这一切都很简单,效果很好。

除了两个父表PK之外,中间表还有一个额外的布尔字段“isCover”,以便用户可以选择相册中的图像作为封面。但是,在内联中没有办法强制执行只有一个图像被检查为封面。另外,如果用户没有选择任何图像,我希望自动选择第一张图像作为封面的功能。

怎么能实现呢?

提前感谢任何见解!乔

python django boolean photo-gallery inlines
1个回答
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()
© www.soinside.com 2019 - 2024. All rights reserved.