代码之家  ›  专栏  ›  技术社区  ›  Tomasz Zieliński

是否有类似于unique\u的集合(最大\u出现次数=3)?

  •  0
  • Tomasz Zieliński  · 技术社区  · 14 年前

     class MyModel(models.Model):
         a = models.IntegerField()
         b = models.IntegerField()
         c = models.IntegerField()
    

    现在,我需要 unique_together(a,b, max_occurences=3) 要添加到上述模型的约束(这样最多可以有3个 c 对于每对(a,b),理想情况下是 c

     class MyModel(models.Model):
         a = models.IntegerField()
         b = models.IntegerField()
    
         c1 = models.IntegerField()
         c2 = models.IntegerField()
         c3 = models.IntegerField()
    
         class Meta:
             unique_together = ('a', 'b')
    

    --我自己处理c1..c3?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Adam Nelson    14 年前

     class MyModel(models.Model):
         a = models.IntegerField()
         b = models.IntegerField()
         c = models.IntegerField()
    
         def save(self):
             try:
                 # Check values in model here
             except:
                 raise ValueError("Cannot save more than 3 Cs with an A")
             super(MyModel, self).save(*args, **kwargs)