2016-07-10 4 views
0

사람들이 무료 인 타임 슬롯을 선택할 수있는 테이블 스케줄러를 만들려고합니다. django를 postgresql 데이터베이스와 함께 사용하고 있습니다. 나는 사용자가 그냥 체크 박스를 체크 할 수있는 행 = 일 및 열 = 타임 슬롯과 나에게 표를 줄 것이다 modelForm를 사용하여 양식을 만들려면 어떻게해야합니까장고 체크 박스 테이블 용

class Person(models.Model): 
    user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1, unique=True) 
    name = models.CharField(max_length=100) 
    monday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"]) 
    tuesday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"]) 
    wednesday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"]) 
    thursday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"]) 
    friday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"]) 
    saturday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"]) 
    sunday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"]) 

문제는 표시하는 것입니다 : 나는 아래의 모델이 그들이 자유 롭 때.

현재 내 forms.py은 다음과 같습니다

class UserForm(forms.ModelForm): 
    class Meta: 
     model = Person 
     fields = [ 
      "name", 
      "monday", 
      "tuesday", 
      "wednesday", 
      "thursday", 
      "friday", 
      "saturday", 
      "sunday", 
     ] 

나는 아직도 장고 만 한 달 전에 데리러 꽤 새로운 해요. 주어진 조언을 주셔서 감사합니다.

+0

'ForeignKey'는 = TRUE '는 OneToOne' 관계'와 동일합니다 그리고 당신은 – doniyor

+0

를 사용해야합니다 내가 모델이 방식으로 설계 것 : 감사합니다 @doniyor http://pastebin.com/T6pR9jrT – doniyor

+0

을 귀하의 의견. 그래도 렌더링 될 ModelForm은 무엇입니까? – Ashley

답변

0

나는 단지 두 개의 datetime fields을 사용하고 javascript를 사용하여 프런트 엔드에 슬롯이있는 테이블을 렌더링합니다. start_timeend_time 필드가 있어야합니다.

이것은 모델을 단순화하지만 모델 자체가 시간 범위 (예 : 월요일 12-13)를 제한하지 않고 언제든지 선택할 수 있음을 의미합니다. 그러나 custom validation을 사용하여 선택할 수있는 시간 범위를 제한 할 수 있습니다. 나는. 시간 간격이나 요구 사항에 상관없이 선택할 수 있습니다. 나는 이것으로 당신을 도울 수있는 온라인 소스가있을 것이라고 확신하지만 어떤 것을 발견 할 수 없다면 나에게 알려 주어 내가 도와 줄 수 있는지 알게 될 것이다.

시간 선택기 기능을 이미 처리하지만 찾을 수없는 javascript/jQuery 라이브러리를 찾으려고했습니다. 그래도 만드는 것은 상당히 간단합니다. 내가보기 방법 : 각 요소는 data-startdata-end 속성을 모두 가지고와 날짜 범위의

  • 표.

  • 클릭 할 때 두 데이터 속성을 수집하십시오.

  • 제출시 전파를 중지하고 두 개의 날짜 범위를보기에 제출하고 start_timeend_time에 저장하십시오. 독특한`와

관련 문제