Edgy

Latest version: v0.28.1

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

Scan your dependencies

Page 4 of 10

0.21.1

Changed

- Breaking: from_kwargs doesn't require model or table anymore. It is simply ignored.

Fixed

- Q, and_, or_ support now complex kwargs like querysets.
- Failure querying when using proxy model table and kwargs.
- Proxy and main model use now the same tables.
This could have been a problem when filtering against table columns of the proxy table in a query from the main table.
- Queries operate now always on the main model not the proxy model.
- Stacklevel of performance warning was wrong.

0.21.0

Added

- Allow multi schema and database migrations.
- `metadata_by_url` dictionary.

Changed

- `metadata` of `registry` is now `metadata_by_name`.
- `hash_tablekey` uses a faster hash function.
- Migrate object provides now a function for getting a suitable registry copy for migrations.
- Change license to bsd-3.
- Proper deprecate unset autoincrement when using it with primary key. The behavior is already deprecated in the documentation.

Fixed

- `Migrate` executed `refresh_metadata` everytime causing reflected models to vanish.
- Fix edgy wrapping esmerald with the asgi helper causing esmeralds cli to disappear.

0.20.0

Added

- Add DurationField.
- Allow passing `max_digits` to FloatField.
- Add `local_or` function to QuerySets.

Changed

- Only the main table of a queryset is queryable via `model_class.columns.foo == foo`. Select related models have now an unique name for their path.
The name can be retrieved via `tables_and_models` or using `f"{hash_tablekey(...)}_{column}"`.
- Breaking: Alter tables_and_models to use the prefix as key with '' for the maintable and model.
- Breaking: Functions passed to filter functions reveive now a second positional parameter `tables_and_models`.
- `build_where_clause` conditionally uses a subquery.
- Rename QueryType to QuerySetType. The old name stays as an alias.
- The debug property of QuerySet named `sql` inserts now the blanks and uses the dialect.

Fixed

- Triggering load on non-existent field when reflecting.
- InspectDB mapping was incorrect.
- Fix query edge cases.
- Fix using related queries with update/delete.

0.19.1

Fixed

- Migration issues with ManyToMany fields.
- Wrong UUIDField type.
- Passing options from Migrate to the alembic context.

0.19.0

Added

- New `SET_DEFAULT`, and `PROTECT` to `on_delete` in the ForeignKey.
- New `through_tablename` parameter for ManyToMany.

Removed

- `__db_model__` is removed. Replaced by registry = False.

Changed

- Allow setting registry = False, for disabling retrieving the registry from parents.
- Removed unecessary warning for ManyToMany.
- Add warnings for problematic combinations in ForeignKey.
- Make QuerySet nearly keyword only and deprecate keywords not matching function names.
- Clone QuerySet via `__init__`.
- Make select_related variadic and deprecate former call taking a Sequence.
- Improved QuerySet caching.

Fixed

- Multi-column fields honor now `column_name`. This allows special characters in model names.

0.18.1

Changed

- Cleanup Model inheritance: Database related operations are put into a mixin. The customized metaclass is moved from EdgyBaseModel to `edgy.Model` as well as some db related ClassVars.
- `multi_related` is now a set containing tuples (from_fk, to_fk). This can be used to identify fields used by ManyToMany fields.
- Deprecate `is_multi`.
- Deprecate `parents`. There are no users, it was undocumented and uses are limited.

Fixed

- Non-abstract through-models wouldn't be marked as many to many relations.
- Issues related with the Edgy shell initialization.

Page 4 of 10

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.