Как расширить модели событий/происшествий в django-scheduler

Я хотел бы дополнить события/события в django-scheduler с помощью три вещи:

  • Расположение
  • Приглашенные
  • RSVP

Для Location моя первоначальная мысль состояла в том, чтобы создать подкласс Event и добавить Location в качестве внешнего ключа к классу Location, но я предполагаю, что каждое сохраненное вхождение не будет включать Location, поэтому, если местоположение изменится для одного вхождения, у меня будет негде хранить эту информацию.

В этой ситуации рекомендуется вместо этого создать EventRelation? Смогу ли я тогда указать другое местоположение для одного вхождения в серии? Решение EventRelation кажется мне неопрятным, я бы предпочел хранить модели в классах для ясности и простоты.

Я думаю, что Invitees — это та же проблема, поэтому, по-видимому, мне следует использовать похожее решение?

Для RSVP я намереваюсь создать класс RSVP с вхождением в качестве внешнего ключа, и, насколько я могу судить, это должно работать без каких-либо проблем, пока я сохраняю вхождение, прежде чем прикреплять его к RSVP?

Я прочитал всю документацию, все проблемы GitHub, различные потоки StackOverflow, тесты, исходный код модели и т. д., но до сих пор неясно, как это сделать «правильно».

Я нашел PR, в котором представлены абстрактные модели: https://github.com/llazzaro/django-scheduler/pull/389, который выглядит именно так, как я хочу, но я не хочу использовать код, который, казалось бы, был заброшен 18 месяцев назад, так как я не получу преимуществ от будущих улучшений.

EDIT: Теперь я думаю, что другим способом сделать это было бы связать только один объект с событием, используя EventRelation, поэтому у меня был бы объект EventDetails, связанный с событием через EventRelation. , затем включите FK в Location, Guest и т. д. из этого объекта.

Затем я также должен иметь возможность создавать подклассы моего объекта EventDetails с различными видами событий и присоединять их. Я попробую и посмотрю, работает ли это!


person Spielo    schedule 03.07.2019    source источник


Ответы (1)


На всякий случай, если кто-то найдет это и задастся вопросом о том же: в итоге я отказался от Django-scheduler и вместо этого использовал Django-recurrence. Пришлось проделать немного больше работы самому, но было проще создавать пользовательские типы событий, которые я искал. Работал довольно хорошо!

person Spielo    schedule 29.10.2019