Django-tenants глобальное отображение таблицы устройств на арендаторов
Мы используем django-tenants для обеспечения многоарендного решения для платформы iot, и у меня возникла проблема с тем, как сопоставить некоторые глобальные данные с таблицами для конкретных арендаторов. По сути, у нас есть iot-устройства, которые общаются с сервером node.js по проприетарному протоколу tcp, затем этот сервер делает rest api запросы к веб-серверу Django, чтобы обновить базу данных с измерениями устройства. Сервер node ничего не знает о том, какое устройство принадлежит какому клиенту, поэтому ему нужен глобальный rest api, а затем бэкенд веб-сервера должен сопоставить это устройство с конкретным арендатором, но мы не можем позволить арендаторам просматривать данные друг друга, поэтому я не уверен, как мы этого добьемся, поскольку кажется, что api либо специфичны для арендаторов, либо глобальны (публичны).
Я думаю, что вы можете структурировать приложение Django таким образом:
- Создайте модель арендатора
- Создайте модель измерения
- Внутри модели измерения поместите ForeingKey в Tenant .
- Теперь вам нужно создать конечную точку, которая будет принимать вызовы от сервера node.js, и, очевидно, внутри данных вам нужно поместить информацию об арендаторе (например, uuid). .
Используйте django-rest-framework для конечной точки и защитите ее аутентификацией!