Я хотел бы дополнить события/события в 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 с различными видами событий и присоединять их. Я попробую и посмотрю, работает ли это!