Доступ к базе данных django на postgresql из независимого скрипта на python
У меня есть сайт, построенный на django и postgresql. Каждый пользователь (пользователь в системе django Auth) на сайте имеет множество моделей учетных записей (и других моделей) .
Приложению, работающему на базе windows-python, необходимо получить доступ (чтение/запись) к данным из базы данных. Каждое приложение ассоциируется с определенным пользователем.
мои вопросы:
- can an app access only specific user data? the account model have an attribute of user so it filter based on that, how can it restrict external app access?
- what is the proper way to read / write from database? can I somehow use the django models as the website do?
Я думаю, что лучший способ - это создать слой API для обмена данными между вашим Django и внешними приложениями. Django rest framework предоставляет действительно простое решение для добавления REST слоя в ваше приложение, который также можно использовать повторно с любым другим внешним. https://www.django-rest-framework.org/
При таком подходе вы централизуете и абстрагируете прямые манипуляции с базой данных в Django, избегая любых внешних операций, которые могут нарушить ее согласованность (например, при изменении таблицы).