I am currently building a restaurant API using Django Rest framework. The idea was to have one single API serving different data, to different restaurants, using the same endpoints, since different restaurants will have different dishes, prices and media files, like images and videos, etc.
I want each restaurant, which will be a user in this case, to have its own data that is not accessible by other restaurants (users). The restaurants are supposed to share the same database but one restaurant should not be able to read data associate with another restaurant. The idea is that while building the frontend, the data coming through should be restaurant(or user) specific.
My question is how do I go on about doing this? Should it be done at all? Or Would it be better to deploy the API with a new database for every new restaurant that needs to be added, as in, the API would only serve one specific restaurant at a time?