Django模型变量 - 唯一

时间:2012-08-12 00:23:55

标签: django models

对于这个问题的糟糕标题,我感到非常抱歉。我想不出如何在简单的背景下对它进行短语。


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

2 个答案:

答案 0 :(得分:1)

您应该为您的班级定义unique_together变量。如果您的字段名称为albumbanner,则应将此行添加到模型的Meta类中。

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

Django Documents, unique-together

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

答案 1 :(得分:0)

为什么不创建OneToOne字段?

class Gallery(models.Model):
...
banner = models.OneToOneField(Photo)
通过这种方式,您可以在图库和照片之间建立独特的关系。