2013-03-11 3 views
0

이것을 구현하는 더 좋은 방법이 있는지 궁금합니다. 여러 필드가있는 모델이 있습니다. 각 입력란에는 해당하는 값이있는 여러 날짜 범위가 있어야합니다. 예를 들어, 저는 부울 변수 "Hungry"를 가진 "Person"클래스를 가질 수 있습니다.이 클래스는 오전 9 시부 터 오후 12 시까 지, 오후 12 시부 터 오후 2 시까 지, 그리고 오후 2 시부 터 오후 5 시까 지 true입니다. 내 기간에 포함되지 않은 시간은 기본값이됩니다.Django 변수에 값 목록이 있습니다.

이 방법을 구현하는 한 가지 방법은 Hungry를 값, 시작 시간 및 종료 시간이있는 별도의 클래스로 변환하는 것입니다. 그러면 사람은 배고픔과 많은 관계를 가질 것입니다. 각 변수에 대한 테이블을 만들지 않지만 쉽게 조회 할 수 있도록하는 더 나은 방법이 있습니까?

+0

어떤 유형의 조회가 필요합니까? 주어진 시간에 배고픈 모든 사람들? 주어진 시간 간격으로 배고픈 모든 사람들? 사람이 배고픈 모든 간격? 주어진 시간에 사람이 배고픈 지 여부. 무엇보다도? – shx2

+0

예, 위의 모든 것. 너는 무엇을 제안 하겠는가? – mike

답변

0

나는 다 대다 관계가 아닌 외래 키를 제안합니다.

Class Person(models.Model): 
    #... 

Class Hungry(models.Model): 
    person = models.ForeignKeyField(Person) 
    start = models. DateTimeField() 
    end = models. DateTimeField() 
    hungry = models. BooleanField() 

나는 하나 개의 테이블에이를 짜도록 당신이하는 CharFieldHungryperson 필드를 대체 할 수있는 것 같아요,하지만 가난한 DB 디자인입니다. 그것은 실제로 두 개의 별개의 테이블이어야합니다.

+0

CharField는 좋은 아이디어 같지 않습니다. ForeignKey에 대한 좋은 호소. 나는 각 변수가 다른 클래스 일 필요가 있다고 생각한다. – mike

관련 문제