Я работаю над проектом (основан на Django, хотя это не совсем соответствует моему вопросу), и я изо всех сил пытаюсь найти лучший способ представления моделей данных.
У меня есть четыре следующие модели:
Пользователь,
Клиент,
Встреча,
Местоположение
Пользователь и Клиент имеют отношение многие-ко-многим через модель Встречи. Модель Meeting имеет непосредственное отношение к модели Location.
Встречи будут проходить по адресу:
- Адрес, определенный в модели User (или UserProfile)
- Адрес, определенный в модели клиента.
- Некоторое другое местоположение, которое должно быть определено позднее.
Я изо всех сил пытаюсь найти лучший способ сохранить данные о местоположении, чтобы сделать их максимально чистыми и пригодными для повторного использования.
Я рассмотрел создание местоположения в качестве поля в модели собраний, а не в отдельной модели, хотя это также может привести к избыточным данным, если множество собраний создается в одном месте, так что это, вероятно, без стартера.
Я мог бы автоматически создавать записи местоположения для каждого созданного пользователя и клиента и использовать общие отношения между соответствующими записями, однако я понимаю, что это может привести к неэффективной работе базы данных. Кроме того, не каждый клиент / пользователь сможет проводить собрания в своем местоположении.
Кто-нибудь может увидеть более аккуратную альтернативу?
Любой совет приветствуется.
Спасибо.