장고 모델 개체에 식 기반 제약 조건을 설정할 수 있습니까? 소유자가 만료 된 상태가 아닌 특정 유형의 위젯 하나만 가질 수있는 제한 조건을 적용하려고하지만 만료되는 한 다른 유형의 위젯을 가질 수있는 경우. save 메소드를 오버라이드 (override)함으로써이 작업을 수행 할 수 있지만, 제약 조건을 설정하여이를 수행 할 수 있는지 궁금하다. unique_together 제약 조건의 일부 파생어Django - 식 기반 모델 제약
WIDGET_STATE_CHOICES = (
('NEW', 'NEW'),
('ACTIVE', 'ACTIVE'),
('EXPIRED', 'EXPIRED')
)
class MyWidget(models.Model):
owner = models.CharField(max_length=64)
widget_type = models.CharField(max_length = 10)
widget_state = models.CharField(max_length = 10, choices = WIDGET_STATE_CHOICES)
#I'd like to be able to do something like
class Meta:
unique_together = (("owner","widget_type","widget_state" != 'EXPIRED')