Я хотел бы дополнить события / события в django-планировщике тремя вещами:
- Расположение
- Приглашенные
- RSVPs
Что касается Location, то моей первоначальной мыслью было создание подкласса Event и добавление Location в качестве внешнего ключа к классу Location, но я предполагаю, что каждое сохраненное вхождение не будет включать в себя Location, поэтому, если расположение изменяется для одного вхождения, я Некуда будет хранить эту информацию.
В этой ситуации рекомендуется вместо этого создавать EventRelation? Смогу ли я тогда указать другое местоположение для одного вхождения в серии? Решение EventRelation мне кажется неопрятным, я бы предпочел держать модели в классах для ясности и простоты.
Я думаю, что Приглашенные - это та же проблема, так что, вероятно, мне следует использовать подобное решение?
Для RSVP я намереваюсь создать класс RSVP с Вхождением в качестве внешнего ключа, и, насколько я могу судить, он должен работать без проблем, если я сохраняю вхождение перед его подключением к RSVP?
Я прочитал все документы, все проблемы с GitHub, различные потоки StackOverflow, тесты, источник модели и т. Д., Но до сих пор неясно, каков «правильный» способ сделать это.
Я нашел PR, который представляет абстрактные модели: https://github.com/llazzaro/django-scheduler/pull/389, который выглядит именно так, как я хочу, но я не хочу использовать код, который, казалось бы, был заброшен 18 месяцев назад, так как я не получу выгоду от будущие улучшения.
РЕДАКТИРОВАТЬ: Теперь я думаю, что еще один способ сделать это будет иметь только один объект, связанный с событием, используя EventRelation, так что я бы иметь объект "EventDetails", связанный с событием через EventRelation, затем включите FK в Location, Guest и т. д. из этого объекта.
Затем я должен иметь возможность подклассифицировать свой объект EventDetails с различными видами событий и также прикреплять их. Я попробую и посмотрю, сработает ли это!