0

Я рассматриваю GAE + NDB для нового проекта. Я все еще немного запутался в отношении предков, поэтому я мог бы использовать некоторые советы о том, как правильно их использовать.AppEngine NDB: Как правильно применять предков?

Мое дело: Приложение будет обрабатывать производственные заказы для заводов, мы планируем иметь разных клиентов. Чтобы уменьшить административные задачи, у всех клиентов будет одинаковое приложение и один и тот же хранилище данных (наличие отдельного приложения + хранилища данных будет прекрасной китайской стеной между клиентами, но кошмаром для того, чтобы присоединиться).

Мне нужно реализовать способ изолировать данные между клиентами. Клиент A не должен иметь доступ к каким-либо данным других клиентов в этом приложении.

Так целесообразно использовать предков в хранилище данных для разделения данных от разных клиентов? Я думаю, что в этом случае я мог бы иметь ключи предков, такие как ClientA-Products, ClientA-Orders, ClientB-Products, ClientB-Orders и так далее. Или, возможно, даже есть все транзакции с ключом клиента: например ClientA, ClientB ..?

Или лучше иметь свойство в каждом объекте, связывающем объект с Клиентом? В этом случае сущности «товары» и «заказы» будут иметь свойство «Компания», которое должно быть заполнено приложением при каждой записи и включено в каждый запрос.

Заранее благодарим за мысли!

ответ

0

Многопользовательская деятельность будет работать идеально для вашего удобства.

from google.appengine.api import users 

def namespace_manager_default_namespace_for_request(): 
    # assumes the user is logged in. 
    return 'client_id' 

Подробнее об этом here.

+0

Привет, Dmirty, выглядит как ответ для моего дела. Благодаря! – kxtronic

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