모든 사용자에 대해 성별 (남성/여성)을 나타낼 필요가있는 장고 앱을 만들고 있습니다. 단일 사용자는 남성, 여성 또는 둘 다에 관심이 있다고 선택할 수 있습니다. 이 데이터는 유사점을 찾기 위해 다른 사용자와 상호 참조하는 데 사용됩니다. 젠투에 대한 ManytoManyField는 명확하게 작동하지만 성별은 매우 정적 인 필드이므로 두 가지 옵션 만 사용할 수 있습니다. 더 좋은 방법은 구현하는 것입니까? 데이터베이스가 m2m 필드를 들여다 보지 않아도되는 일종의 다중 선택 가능 필드가 있습니까?정적/하드 코딩 된 데이터에 대한 ManytoManyField의 대안은 무엇입니까?
0
A
답변
2
를 사용하여 가능한 값을 제한 할 수 있습니다 - 이중 밑줄 표기의 톤과 함께 시간이 지남에 따라 쿼리 비용과 그냥 일반 어려워 것이다. 정적 물건의 경우 특별히 choices
이 필요합니다. 나는 지난 몇 년 동안 배운 유용한 코딩 관행의
하나는 그가 선택 사용하는 방법 제임스 Bennets 블로그에서 아이디어입니다 :
class MyObject(models.Model):
MALE = 0
FEMALE = 1
ROBOT = 2
MY_CHOICES = [
(MALE, 'Male'),
(FEMALE, 'Female'),
(ROBOT, 'Robot'),
]
gender = models.IntegerField(choices=MY_CHOICES)
MyObject.objects.filter(gender=MyObject.ROBOT)
: 기본적으로
http://www.b-list.org/weblog/2007/nov/02/handle-choices-right-way/
를 보자는이 작업을 수행 할 수 있습니다 답으로 대답은
0
당신은 문자열이나 int를 저장하고, 확실히 멀리 M2M 부끄러워 choices
+1
또는 두 개의 부울 필드를 사용할 수도 있습니다. 남성 및 여성에 대한 관심입니다. 좀 더 사용자 친화적 인 방식으로 약간의 형식을 조정할 수도 있지만, DB 관점에서 보면 더 합리적이라고 생각합니다. –
관련 문제
- 1. onNmeaReceived에 대한 대안은 무엇입니까?
- 2. Pinax에 대한 대안은 무엇입니까?
- 3. 장고에있는 ManyToManyField의 정확한 내용에 대한 쿼리
- 4. DBContext 생성기에 대한 대안은 무엇입니까?
- 5. Prototip에 대한 무료 대안은 무엇입니까?
- 6. Targetprocess에 대한 무료 대안은 무엇입니까?
- 7. mongoDB에 대한 Jaspersoft의 대안은 무엇입니까?
- 8. oledb 공급자에 대한 대안은 무엇입니까?
- 9. winRT의 BindingValidationError에 대한 대안은 무엇입니까?
- 10. 특수 효과에 대한 대안은 무엇입니까?
- 11. 누락 된 데이터에 대한 예외
- 12. 누락 된 데이터에 대한 질문
- 13. CollabNet의 파이썬 svn 바인딩에 대한 대안은 무엇입니까?
- 14. Django ManyToManyField의 채우기 쿼리
- 15. 인스턴스 내의 데이터에 대한 트랜잭션?
- 16. 상수 인터페이스에 대한 가장 우아한 대안은 무엇입니까?
- 17. 링크 된 목록을 사용하는 스케줄러의 대안은 무엇입니까?
- 18. WPF WebBrowser 컨트롤에 대한 좋은 대안은 무엇입니까?
- 19. ManyToManyField의 제품 목록
- 20. MilCore.dll에서 MilRelease API에 대한 대안은 무엇입니까?
- 21. 깊은 상속 계층에 대한 대안은 무엇입니까?
- 22. class_eval에 대한 클래스 수준 변수의 대안은 무엇입니까?
- 23. Java에서 awt와 swing에 대한 Google의 대안은 무엇입니까?
- 24. 비 지원 국가에 대한 페이팔의 대안은 무엇입니까?
- 25. .NET에서 다중 상속에 대한 좋은 대안은 무엇입니까?
- 26. 지오 코딩에 대한 Google/Yahoo의 대안은 무엇입니까?
- 27. Adaboost에 대한 가장 강력한 대안은 무엇입니까?
- 28. Win32 리소스에 대한 다른 대안은 무엇입니까?
- 29. 플래시에 대한 가장 최신의 대안은 무엇입니까?
- 30. Heroku에서 페이지 캐싱에 대한 좋은 대안은 무엇입니까?
이며,'choices'는 여러분이 원하는 것입니다. 하지만 실제로'choices'는'ForeignKey' 대신에 작동합니다. 그 사람이 남녀 모두라면? – Jayen