Как использовать приложение django-scheduler в существующем приложении
Я ищу приложения django для обработки событий типа "Календарь задач", а пример проекта django-schedule предоставляет пример проекта, но я не знаю, как сопоставить мой класс Task (title & startTime) с классом событий расписания django. Документация не дает понять, как я могу это сделать? Будет действительно полезно, если некоторые указатели или шаги могут быть предоставлены здесь, чтобы использовать приложение django-schedule с существующим приложением
Решение здесь Использование приложения планировщика Django с вашими собственными моделями присутствует, но я не могу многого из этого извлечь. Я ищу какой-то учебник о том, как подключить Django-планировщик к моей собственной модели
1 ответ
Нашел этот хороший разговор в интернете https://groups.google.com/forum/ и со ссылками объясню логику, как показано ниже:
- Предположим, что у вашего класса задач есть startDateTime & endDateTime & Title
- из schedule.models import Event, EventRelation, Calendar (Исходя из приложения Schedule)
- Переопределите метод save объекта Task, чтобы создать новое событие, как показано ниже, изменив код, указанный в ссылке выше, чтобы сделать его более понятным
- Код ищет существующий календарь и присоединяет к нему событие, которое связано с объектом задачи через связь
Попробовал приведенный ниже код для расширения приложения Project-Sample, поставляемого с исходным кодом, и он работал нормально
def save(self, force_insert=False, force_update=False): new_task = False if not self.id: new_task = True super(Task, self).save(force_insert, force_update) end = self.startDateTime + timedelta(minutes=24*60) title = "This is test Task" if new_task: event = Event(start=self.startDateTime, end=end,title=title, description=self.description) event.save() rel = EventRelation.objects.create_relation(event, self) rel.save() try: cal = Calendar.objects.get(pk=1) except Calendar.DoesNotExist: cal = Calendar(name="Community Calendar") cal.save() cal.events.add(event) else: event = Event.objects.get_for_object(self)[0] event.start = self.startDateTime event.end = end event.title = title event.description = self.description event.save()
По-прежнему приходится искать расширение функциональности Click в событии Calendar, которое в настоящее время дает текстовое поле, как настроить его с помощью гиперссылки, еще предстоит выяснить, но приведенный выше код отвечает на вопрос и часть проблемы.