2013-03-20 2 views
-1

Мне интересно, как я могу моделировать webapp, чтобы предоставлять услуги нескольким клиентам одновременно, работая как экземпляр для каждого.
В примере, если я обеспечиваю базовое программное обеспечение ERP для клиента, и я хочу дать эту услугу всем, которые хотят использовать его в Интернете со своими собственными данными ...Подход веб-экземпляров приближается

Как я могу это сделать?

Я думаю в главном webapp, как шлюз для входа в систему пользователей и маршрутизации их к их собственному webapp, но на самом деле нужен такой подход? с моим подходом мне нужен db для каждого клиента ?, и, может быть, это будет большой беспорядок ...

Какой еще подход можно применить для этого случая?

Любые комментарии приветствуются ..

+0

Почему не база данных, поддерживающая несколько клиентов? то есть обновить свою схему для поддержки многих клиентов. –

+0

Существует ли конкретное требование для отдельной базы данных для каждого клиента? Является ли функциональность веб-приложения каждого клиента одинаковой? –

+0

Каждый клиент будет иметь одинаковую функциональность, но каждый может иметь свой собственный набор данных ... – user1913878

ответ

0

Каждая модель может легко иметь user поле, которое является ForeignKey к модели пользователей. Каждый экземпляр модели затем может быть связан с пользователем, и каждый пользователь будет входить в один webapp с одной базой данных. Разумеется, ваши взгляды должны обрабатывать фильтрацию и аутентификацию доступа к каждому экземпляру модели:

class Resource(models.model): 
    name = models.CharField(max_length=20) 
    someattr = models.FloatField() 
    user = models.ForeignKey(User) 


def show_resources(request): 
    resources = Resource.objects.filter(user=request.user) 
    render_to_response("view.html", {'resources': resources}) 
+0

Спасибо @perrygeo, это было очень полезно ... – user1913878

Смежные вопросы