- Fix utils to not require TENANT_USE_ASGIREF to be defined in the host django project (#206)
- Use asgiref when available instead of thread locals (#176) (#198)
-
Fixes citus 11.3 identity column bigint constraint (#181)
-
Adds new python versions for dj3.2 (#188)
-
Adds Citus 12 and Django 4.1 and 4.2 support (#197)
- Add m2m with no through_defaults fix (#170)
-
Adds DjangoRestFramework support (#157)
-
Adds guidelines to get model in migration (#167)
- Fixes #164 ManyToMany Non tenant model save issue
-
Adds support for Django 4.1
-
Adds support for setting tenant automatically for ManyToMany related model
-
Fixes invalid error message problem in case of invalid field name
-
Adds support for getting models using apps.get_model
-
Removes reserved tenant_id limitation by introducing TenantMeta usage
-
Introduces ReadTheDocs documentation
-
Adds support for Django 4.0
-
Drops support for the following EOLed Django and Python versions:
- Python 2.7
- Django 1.11
- Django 3.1
-
Backwards migration for
Distribute
migration usingundistribute_table()
-
Adds tests for Django 3.2 and Python 3.9
-
Fixes migrations on Django 3.0+
-
Fixes aggregations using
annotate
- Fixes the process of running old migrations when the model has been deleted from the code.
- Add tests to confirm the join condition in subqueries includes tenant column.
- Fixes create with current tenant
- Fix recursive loop in warning for fields when joining without current_tenant set
-
Adds support for custom query_set in TenantManager
-
Cleans the delete code to ensure deleting rows only related to current tenant
- Adds support for multiple tenant
-
Add TenantForeignKey to emulate composite foreign keys between tenant related models.
-
Split apart library into multiple files. Importing the utility function
get_current_tenant
would cause errors due to the import statement triggering evaluation of the TenantModel class. This would cause problems if TenantModel were evaluated before the database backend was initialized. -
Added a simple TenantOneToOneField which does not try to enforce a uniqueness constraint on the ID column, but preserves all the relationship semantics of using a traditional OneToOneField in Django.
-
Overrode Django's DatabaseSchemaEditor to produce foreign key constraints on composite foreign keys consisting of both the ID and tenant ID columns for any foreign key between TenantModels
-
Monkey-patched Django's DeleteQuery implementation to include tenant_id in its SQL queries.
- Some bug fixes.