-1

对于这个问题的糟糕标题,我感到非常抱歉。我想不出如何在简单的上下文中表达它。


我正在制作一个简单的照片库。管理员可以创建图库页面并将图像上传到其中。对于每个画廊,我希望其中一张照片中有一个横幅图像。Photo 模型有一个 CharField 可以判断它是否是横幅。有没有办法让变量只允许属于画廊的每张照片有一个“B”?

4

2 回答 2

1

您应该为您的类定义一个unique_together变量。如果您的字段名称是albumand banner,您应该将此行添加到模型的 Meta 类中。

unique_together = (("album", "banner"),)

Django 文档,独一无二

而且我认为,使用 charfield 作为布尔值并不是一个正确的选择。您应该将您的banner字段更改为 BooleanField。

于 2012-08-12T01:08:11.290 回答
0

为什么不创建一个OneToOne字段?

class Gallery(models.Model):
...
banner = models.OneToOneField(Photo)

这样,您就可以在画廊和照片之间建立独特的关系。

于 2012-08-12T01:26:02.020 回答