Django:限制类的实例

时间:2014-12-17 08:55:36

标签: django django-models

我的模型中有一个位置类,它由组织中存在的不同位置组成:导演,助理,秘书等。每个位置都与一个数字相关联,该数字表示可能属于该类型的位置数量。导演只能是一个,只有三个助手,五个秘书...

我如何限制模型,以便每次充电只能拥有X个人? 现在我只显示数字:

class Position(models.Model):
    cod_position = models.CharField(max_length = 9, unique=True, blank=True)
    number_position = models.IntegerField(blank = True, null = True)
    person = models.ForeignKey(Person, blank = True)

1 个答案:

答案 0 :(得分:0)

您应该覆盖模型的clean方法:检查是否已达到位置数,如果已到达则引发ValidationError。有关详细信息,请查看clean此处的文档:

https://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.clean