Django multi tenancy

Tl; Д-р: есть ли способ переопределить поведение по умолчаниюreverse?

В моем проекте Django у меня есть много URL, таких как

 url(r'^\w+/company/', include("company.urls", namespace="company")),

Что позволяет URL-адресам, таким как

.../companyA/company/
.../companyB/company/

Так что я могу затем использовать пользовательское промежуточное программное обеспечение, чтобы изменить запрос, включив в него некоторые конкретные сведения, основанные на том, какая компания использует мой сайт.

Все это прекрасно работает, за исключением случая, когда django пытается расшифровать полный путь с помощьюreverse а также{% url .. %}...

Похоже возвращается/x/company/ в качестве соответствия по умолчанию для регулярного выражения. так какdjango.utils.regex_helper методnext_char имеет аварийное отображение для\w сопоставить сx

url тег я был в состояниипереопределение заменить/x/ с правильным названием компании, и мне интересно, есть ли аналогичная вещь, которую я могу сделать, чтобы переопределитьreverse таким же образом, или что-нибудь еще, что я могу сделать, чтобы решить эту проблему?

Ранее я использовал

url(r'^(?P<company_name>\w+)/company/', include("company.urls", namespace="company"))

Но это означало, что я должен был включить параметр в каждом представлении

def view(request, company_name):
    ...

А также включить его во все мои другие вызовы представления (т. Е. С{% url %}) которого я пытаюсь избежать.