Opened 13 months ago

Last modified 13 months ago

#34540 closed New feature

[feature request] Run FileField storage callable during runtime and not during buildtime — at Version 1

Reported by: Vasanth Owned by: nobody
Component: File uploads/storage Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Vasanth)

If the storage callable can be invoked during runtime similar to the "upload_to", it can allow us to choose the storage to use dynamically. This is particularly helpful for SaaS services which prefer maintaining independent storages per client/subdomain.

Something like, the following snippet where local_state.tenant is threading local() which holds the name of the tenant for each request

def tenant_storage(instance, filename):
    tenant = getattr(local_state, "tenant", "default")
    return storages[tenant]

Change History (1)

comment:1 by Vasanth, 13 months ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top