나는 "상태"필드가있는 모델 클래스를 가지고 있는데,이 필드는 choices
옵션을 가지고 있습니다 (각 선택 항목에는 자체 비즈니스 로직이 있습니다). 장고 웹 사이트에 따르면
는 ,이 선택이 설정되는 방법이다 :django 더 나은 방법은 모델 필드 선택을 작성하려면?
class Order:
STATUS_ACTIVE = 1
STATUS_ENDED = 2
STATUS_CANCELED = 3
ORDER_STATUS_CHOICES = ((STATUS_ACTIVE, 'Active'),
(STATUS_ENDED, 'Ended'),
(STATUS_CANCELED, 'Canceled'),)
order_status = models.IntegerField(choices=ORDER_STATUS_CHOICES)
order_status2 = models.IntegerField(choices=ORDER_STATUS2_CHOICES)
문제는, 많은 분야에 대한 많은 선택 내 모델 클래스를 스팸 나쁜 느낌, 어떻게 든 그것을 캡슐화 할 수 그것은, 하지만 여전히 이러한 선택을 유지 내부 모델 클래스?
내가
class OrderStatus:
STATUS_ACTIVE = 1
STATUS_ENDED = 2
같은 내부 클래스를 사용하지만 모델 클래스는 오류를 발생시킵니다 내부에서 Order.OrderStatus.STATUS_ACTIVE를 참조 시도했습니다.
왜 모델 내부에 보관하고 싶습니까? –
이러한 선택은 모델 필드와 관련이 있습니까? 또한 django 웹 사이트에 따르면 클래스 내에서 선택하는 것이 가장 좋습니다. 비록 내가 커지면 크게 나뉘어 지겠지만 – user3599803