2012-03-29 2 views
1

사용자가 선택하고 제출 된 값이 사용 가능한 옵션인지 확인하는 옵션을 제공하고자합니다.Django - 모델과 모델 (FK) 비교

설명서를 읽었을 때 값이 변경되지 않으면 choices을 사용하십시오. 데이터가 동적 인 경우 models을 사용하십시오.

조금 불확실하지만, modelschoices 이상으로 선택해서는 안되며, DB에서 일종의 제약 조건을 적용합니까?

+2

당신은 단순한 성별 선택을위한 모델을 원하지 않는다. – okm

답변

2

models은 데이터베이스를 통해 강제 적용됩니다. choices은 코드를 통해 제약을 적용합니다. 선택할 대상은 선택하려는 대상에 따라 다릅니다. 당신이 확실히 이들 중 하나가 필요

+0

그래, 내 질문에 언급했는데 - 옵션 (db/strategic/performance/etc)이 주어 졌을 때 데이터베이스의 제약이 더 잘되어서는 안된다. – RS7

+0

FK가 고정 된 값 집합보다 더 성능이 있어야한다고 생각하는 이유는 무엇입니까? –

+0

나는 그것이 당신의 시나리오가 허용 가능한 성능 저하를 허용한다는 의미에서의 성능을 의미하지는 않습니다. 내 질문에 대해 좀 더 생각해 보면 아마도 DB에 제약 조건이없는 이유를 묻는 것이 좋습니다. – RS7

4

사용 models : 코드를 다시로드 할 필요없이 쉽게 (추가, 삭제) 편집

  • 기능 선택;
  • 선택 사항에 대한 추가 정보를 저장할 수있는 기능.
  • 쉬운 다 대다 관계 (및 이에 의한 필터링)
  • 다른 경우에 선택 항목의 동적 하위 집합과 함께 작업 할 수있는 기능.

choices을 사용하십시오.