2009-07-29 3 views
1

CharField에 대한 블랙리스트를 어떻게 지정할 수 있습니까? 그러나 나는 블랙리스트를 장고 관리자 패널에서도 유효하게하고 싶다. 그렇지 않으면 뷰에서 유효성을 검사 할 것이다.Django CharField 제한

블랙리스트는 사용할 수없는 값을 의미합니다. 또한 값에 대해 고유 한 값을 설정했지만 문자열 몇 개를 비활성화하려고합니다.

덕분에, 최대

답변

1

상위 클래스 'save() 메소드를 호출하기 전에 모델의 save() 메소드와 블랙리스트에 대한 값을 삽입해야합니다. 그런

뭔가 (간체) : 그것은 모든 응용 프로그램에서 작동

class BlackListModel(models.Model): 
    blacklist = ['a', 'b', 'c'] 

    # your model fields definitions... 

    def save(self, *args, **kwargs): 
     if self.blacklist_field in self.blacklist: 
      raise Exception("Attempting to save a blacklisted value!") 
     return super(BlackListModel, self).save(*args, **kwargs) 

그런 식으로.

0

이 상자 밖으로 수 없습니다. custom form field을 작성하거나 custom admin handling을 추가하여 관리자 수준의 유효성 검사를 수행해야합니다. 데이터베이스 레벨에서 그렇게하기 위해, 당신은 어떤 종류의 방아쇠와 저장 프로 시저를 설정할 필요가 있다고 생각합니다.하지만 그건 내 영역이 아니므로 다른 사람들에게 맡깁니다.

관련 문제