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

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

  • Место нахождения
  • Приглашенные
  • RSVPs

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

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

Я думаю, что Приглашенные это та же проблема, так что, вероятно, я должен использовать аналогичное решение?

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

Я прочитал все документы, все проблемы GitHub, различные потоки Stackru, тесты, источник модели и т. Д., Но до сих пор неясно, каков "правильный" способ сделать это.

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

РЕДАКТИРОВАТЬ: я теперь думаю, что другой способ сделать это будет иметь только один объект, связанный с событием, используя EventRelation, так что я бы иметь объект "EventDetails", связанный с событием через EventRelation, а затем включить FKs для Location, Гости и т. Д. С этого объекта.

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

0 ответов

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

Другие вопросы по тегам