Enum class
- Enum class 에 인스턴스들을 선언한다.
- 처음에는
Enum.__memebers__
로 Enum class 의 변수 명들을 가져와서, 입력되는 데이터가 그 중에 없으면 에러를 리턴하려고 했으나
- input 값은 모두 베이커리, 카페 이런 한글로 들어오기 때문에, 한글을 변수로 선언할 수는 없었다.
- 그래서 Enum class 를 iterate 하면서 각 변수의 value 들을 담은 list 를 만드는ExtendedEnum 클래스를 생성했다. 해당 클래스는 Enum 클래스 상속을 받았다.
validation
다음과 같이 category_name 이 ExtendedEnum 클래스를 상속받아 만든 CategorySet 에 없으면 transaction.set_rollback(True)
를 call 해서 모든 db 수정 값을 초기화 시킨다.