나는 사용자의 디스플레이 환경 설정을 나타내는 모델을 가지고있다. 이러한 모든 환경 설정은 부울 값입니다. 부울 열을 50 개 갖는 대신이 문제를 해결할 더 좋은 방법이 있습니까? 나중에 새 항목을 추가하려는 경우 데이터베이스에 새 열을 추가하지 않아도됩니다.장고 모델에서 많은 부울을 나타내는 가장 좋은 방법은 무엇입니까?
답변
"나중에 새 항목을 추가 할 때 데이터베이스에 새 열을 추가하지 않아도됩니다."
이 경우 행을 추가해야합니다.
가능한 설정 이름의 도메인이있는 테이블이 있습니다. 50 행.
실제 설정 테이블이 있습니다. 사용자, 설정 이름, 설정 값.
많은 불리언이 있고 더 많은 것을 추가하려는 경우, 열을 사용하지 말고 항목을 사용해야합니다.
"사용자가 이메일을 원합니다"를 찾아야 할 때 UserPrefs.objects.get (User = user, Preference = Preferences.objects.get (name = "wanted email"))를 검색하면됩니다.
User_Table :
- 사용자
- 이름
- 등
Preferences_Table :
- 이름
- 설명
- 등
UserPreferences_Table :
- 사용자 (FK_User)
- 환경 귀하의 설정에 따라 (FK_Preferences)
- 설정 (부울)
, 당신은 할 수있다 UserPreferences 테이블에서 Setting 필드를 생략하고 단순히 en의 존재를 사용할 수 있습니다. 해당 User/Preference를 True로, 하나가 False로 부족하도록하십시오.
비트 맵을 사용할 수도 있습니다. 당신은 오직 하나의 char 필드 만 필요합니다. 어딘가에 당신의 환경 설정, pref1, pref2, pref3 ...의 목록을 저장하고 비트 맵에 환경 설정에 해당하는 1과 0의 시퀀스를 저장합니다.
예를 들어 101은 pref1 = yes, pref2 = no 및 pref3 = yes를 의미하고 011은 pref1 = no, pref2 = yes 및 pref3 = yes를 의미합니다.
비트 맵에 대해 새 모델 필드 유형을 만들어이 코드를 다시 사용할 수 있습니다.
- 1. 모델에서 데이터를 변경하는 가장 좋은 방법은 무엇입니까?
- 2. 장고 프로젝트를 구성하는 가장 좋은 방법은 무엇입니까
- 3. plist에서 영구 부울을 처리하는 가장 좋은 방법은 무엇입니까?
- 4. 더 많은 부울을 저장하는 가장 효과적인 방법
- 5. 인쇄를위한 넓은 격자를 나타내는 가장 좋은 방법은 무엇입니까?
- 6. 서머 타임 규칙을 나타내는 가장 좋은 방법은 무엇입니까?
- 7. 장고 모델 객체를 다루는 가장 좋은 방법은 무엇입니까?
- 8. 많은 레일 동일한 플래그가있는 모델입니다. 가장 좋은 방법은 무엇입니까?
- 9. c에서 임의로 큰 숫자를 나타내는 가장 좋은 방법은 무엇입니까?
- 10. 개체의 상태를 누가 변경했는지를 나타내는 가장 좋은 방법은 무엇입니까? (AASM)
- 11. javaDoc에서 XML의 속성을 나타내는 가장 좋은 방법은 무엇입니까?
- 12. 장고 가장 좋은 방법
- 13. 도메인 모델에서 컬렉션의 항목을 검색하는 가장 좋은 방법은 무엇입니까?
- 14. 개체 지향 모델에서 문자열을 제한하는 가장 좋은 방법은 무엇입니까?
- 15. Ruby on Rails : 모델에서 문자열을 이스케이프하는 가장 좋은 방법은 무엇입니까?
- 16. 다른 모델에서 단일 피드를 생성하는 가장 좋은 방법은 무엇입니까?
- 17. 너무 많은 부울을 사용하는 경우
- 18. 장고 동기화 DB 장고 모델에서
- 19. 필드가 필수임을 나타내는 좋은 방법은 무엇입니까?
- 20. 여러 테이블에 걸친 쿼리를 수행하는 가장 좋은 장고 방법은 무엇입니까?
- 21. 장고 웹 앱에서 '마지막으로 본'기능을 구현하는 가장 좋은 방법은 무엇입니까?
- 22. 쿼리 세트를 정렬하는 좋은 방법은 무엇입니까? - 장고
- 23. 많은 .NET Task 인스턴스를 조정하는 가장 좋은 방법은 무엇입니까?
- 24. Android에서 MapView에 많은 오버레이를로드하는 가장 좋은 방법은 무엇입니까?
- 25. 많은 JavaScript 객체를 인스턴스화하는 가장 좋은 방법은 무엇입니까?
- 26. 많은 양의 텍스트 데이터를 저장하는 가장 좋은 방법은 무엇입니까?
- 27. 많은 양의 다른 유형의 데이터를 저장하는 가장 좋은 방법은 무엇입니까?
- 28. 코드에서 많은 텍스트를 관리하고 번역을 지원하는 가장 좋은 방법은 무엇입니까?
- 29. 많은 CSS 스타일 정의를 상황에 맞는 가장 좋은 방법은 무엇입니까?
- 30. 매우 많은 수의 객체를 메모리에 저장하는 가장 좋은 방법은 무엇입니까?
"최고"라는 말은 "가장 확장 성이 뛰어난"것을 의미합니다. –