5

https://github.com/llazzaro/django-scheduler 사용 캘린더에 내 모델을 사용하고 싶습니다. 시작 날짜와 종료 날짜도 있습니다.자신의 모델에 장고 스케줄러 응용 프로그램 사용

  1. 이 내 모델과 상호 작용하기 위해 현재 일정 응용 프로그램을 해킹 :

    나는이 문제를 해결하기 위해 여러 가지 방법이 있다고 생각합니다.

  2. save() 재정의를 사용하여 모델을 만들 때 기본 이벤트 모델 만들기.
  3. django-scheduler 앱의 "일반 개체에 대한 이벤트 관계"기능을 사용하십시오.
  4. 내 자신의 요구 사항을 충족하도록 기본 이벤트 모델을 확장하십시오.

세 번째 옵션을 사용하고 싶습니다. 그러나 일정이 단일 개체에 연결되어 있으므로 사용 방법을 모르겠습니다.

저는 파이썬과 장고를 처음 접해 왔기 때문에 누군가가 조언을 해줄 수 있습니까?

+0

그래서 @llazzaro, 나는 세 번째 옵션을 사용하고 Event 클래스의 하위 클래스를 만들었습니다. 그러나 그것은 첫날, 즉 오전 10시에 특정 시간에 시작됩니다. 중일에는 "하루 종일"행사로, 마지막 날에는 오후 5시에 끝납니다. 나는 같은 시간에 시작하여 매일 같은 시간에 끝나는 며칠 동안 일회성 이벤트를 얻을 수 있는지 이해하고자했습니다. – Afrowave

답변

2

옵션 3을 얻으려면 일반 개체에 해당 달력 응용 프로그램의 Event 개체에 연결된 외래 키가 있어야합니다. 당신은 당신의 자신의 추상 모델을 정의하고 일정을 연장 할 수있다, 그래서

SCHEDULER_BASE_CLASSES

SCHEDULER_BASE_CLASSES = { 
    'Event': ['my_app.models.EventAbstract1', 'my_app.models.EventAbstract2'] 
    'Calendar': [my_app.models.CalendarAbstract'] 
} 

:

+0

기본적으로 옵션 3과 4는 동일합니다. 완전히 새로운 테이블을 생성하지는 않습니까? – Sem

+0

테이블 관점 옵션 4에서 이벤트 표가 원하는대로 변경됩니다. 옵션 3은 일반 오브젝트와 두 테이블 간의 링크가있는 테이블로 새 테이블을 만드는 것을 의미합니다. 하지만 ito는 옵션 3입니다. 그렇지 않으면이 캘린더 앱의 유지 관리 등을 대신해야하기 때문입니다. – cchristelis

+0

당신이 맞을 것 같네요. Event 하위 클래스를 만들었고 완벽하게 작동합니다. 이벤트를 특정 페이지에 연결하는 방법을 만들어야하지만 또 다른 문제가 있습니다. 도와 주셔서 감사합니다! – Sem

0

장고 스케줄러 트릭을 할 수있는 매우 숨겨진 설정을 (심지어 공식 문서에보고되지 않음)이 있습니다 그것.

@Jheasly 그의 의견에 말했듯이 편집은

이 기능은 이제 설명되어 있습니다.

+1

[SCHEDULER_BASE_CLASSES]가 [docs에 추가되었습니다] (http://django-scheduler.readthedocs.io/en/latest/settings.html#scheduler-base-classes) [2017 년 6 월 25 일, 커밋]처럼 보입니다. (https://github.com/llazzaro/django-scheduler/commit/4f4ea9ad8d6c8301f181e0180a56b8fa953b6bce). – Jheasly

+0

예,이 대답을 게시 한 직후에 문제가 발생했습니다 – Don

+0

아. 우, 그거 이해가 돼! :) – Jheasly

관련 문제