Я пытаюсь сохранить свой RESTful-сайт СУХИМЫМ, и я не могу придумать хороший способ выделить код для динамического выбора из отдельной базы данных каждого "пользователя". У нас есть отдельная база данных для каждого клиента. Это входит в состав URL-адреса и передается в каждое представление как ключевое слово arg. Я хочу дать каждому представлению поведение доступа к соответствующей базе данных, БЕЗ того, что каждый программист, пишущий представление, помнит, чтобы использовать
Thing.objects.using(user).all()
и
t = Thing()
t.save(using=user)
каждый раз. Кажется, что должен быть какой-то способ перехватить запрос и установить базу данных по умолчанию на основе аргументов для представления до того, как достигнет представления, что позволяет нам использовать обычный
Thing.objects.all()
Это также имело бы преимущество, заключающееся в том, что все пользовательские коды разрешения выводятся в более подходящее место.