Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions django_tenants/management/commands/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,20 @@ def get_tenant_from_options_or_interactive(self, **options):
while True:
tenant_schema = input("Enter Tenant Schema ('?' to list schemas): ")
if tenant_schema == '?':
print('\n'.join(["%s - %s" % (t.schema_name, t.get_primary_domain()) for t in all_tenants]))
print('\n'.join(
[f"{i}) {t.schema_name} - {t.get_primary_domain()}" for i, t in enumerate(all_tenants)]))
else:
break

try:
selected_tenant = all_tenants[int(tenant_schema)]
self.stdout.write(self.style.SUCCESS(f'Selected Tenant: {selected_tenant.schema_name}'))
return selected_tenant
except (ValueError, IndexError):
pass

if tenant_schema not in [t.schema_name for t in all_tenants]:
raise CommandError("Invalid tenant schema, '%s'" % (tenant_schema,))
raise CommandError(f"Invalid tenant schema, '{tenant_schema}'")

return TenantModel.objects.get(schema_name=tenant_schema)

Expand Down
6 changes: 5 additions & 1 deletion django_tenants/middleware/subfolder.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ def process_request(self, request):
return self.no_tenant_found(request, tenant_subfolder)

tenant.domain_subfolder = tenant_subfolder
urlconf = get_subfolder_urlconf(tenant)
urlconf = self.get_urlconf(tenant=tenant)

tenant.domain_url = hostname
request.tenant = tenant
Expand All @@ -76,6 +76,10 @@ def process_request(self, request):
request.urlconf = urlconf
set_urlconf(urlconf)

@staticmethod
def get_urlconf(tenant):
return get_subfolder_urlconf(tenant)

def no_tenant_found(self, request, hostname):
""" What should happen if no tenant is found.
This makes it easier if you want to override the default behavior """
Expand Down