Django-queryable-properties

Latest version: v1.10.0

Safety actively analyzes 723144 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 5

1.3.1

------------------

- Added support for Django 3.1
- Refactored decorator-based properties to be more maintainable and memory-efficient and documented a way to use them
without actually decorating

1.3.0

------------------

- Added an option to implement simplified custom boolean filters utilizing lookup-based filters
- Fixed the ability to use the ``classmethod`` or ``staticmethod`` decorators with lookup-based filter methods for
decorator-based properties
- Fixed the queryable property resolution in ``When`` parts of conditional updates
- Fixed the ability to use conditional expressions directly in ``.filter``/``.exclude`` calls in Django 3.0

1.2.1

------------------

- Added support for Django 3.0

1.2.0

------------------

- Added a mixin that allows custom filters for queryable properties (both class- and decorator-based) to be implemented
using multiple functions/methods for different lookups
- Added some ready-to-use queryable property implementations (``ValueCheckProperty``, ``RangeCheckProperty``) to
simplify common code patterns
- Added a standalone version of six to the package requirements

1.1.0

------------------

- Queryable property filters (both annotation-based and custom) can now be used across relations when filtering
querysets (i.e. a queryset can now be filtered by a queryable property on a related model)
- Queryset annotations can now refer to annotatable queryable properties defined on a related model
- Querysets can now be ordered by annotatable queryable properties defined on a related model
- Filters and annotations that reference annotatable queryable properties will not select the queryable property
annotation anymore in Django versions below 1.8 (ordering by such a property will still lead to a selection in these
versions)
- Fixed unnecessary selections of queryable property annotations in querysets that don't return model instances (i.e.
queries with ``.values()`` or ``.values_list()``)
- Fixed unnecessary fields in ``GROUP BY`` clauses in querysets that don't return model instances (i.e. queries with
``.values()`` or ``.values_list()``) in Django versions below 1.8
- Fixed an infinite recursion when constructing the ``HAVING`` clause for annotation-based filters that are not an
aggregate in Django 1.8

1.0.2

------------------

- The ``lookup`` parameter of custom filter implementations of queryable properties will now receive the combined
lookup string if multiple lookups/transforms are used at once instead of just the first lookup/transform
- Fixed the construction of ``GROUP BY`` clauses when annotating queryable properties based on aggregates
- Fixed the construction of ``HAVING`` clauses when annotating queryable properties based on aggregates in Django
versions below 1.9
- Fixed the ability to pickle queries and querysets with queryable properties functionality in Django versions below
1.6

Page 4 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.