Edgy

Latest version: v0.29.0

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

Scan your dependencies

Page 7 of 10

0.13.1

Added

- Testclient can be configured via environment variables.

Fixed

- Compatibility with newer databasez releases (>0.9).

0.13.0

Added

- `default_timezone`, `force_timezone`, `remove_timezone` for DateTimeField.
- `default_timezone`, `force_timezone` for DateField.
- Add attribute `inject_default_on_partial_update`.
- Allow factories overwriting field methods.
- Deep embedding via embed_parent possible.
- Support for nearly all async sqlalchemy drivers plus more from databasez.

Changed

- `get_default_values` has now an extra keyword argument `is_update`
- `meta.fields_mapping` was renamed to `meta.fields`.-
- Factories have now different named configuration variables.
- Refactoring of fields and models:
- BaseModelType and BaseFieldType are now added and should be used for typings.
- `get_column` works now via extractor.
- Renamed internals.
- Splitted model_references and column values extraction.
- Comparisons of models use now only primary keys.
- Deprecate on model forwards signals, fields. Use now meta.signals, meta.fields.

Removed

- execsync (nearly no uses).
- DateParser mixin (superseeded by sqlalchemy's logic).

Fixed

- `auto_now` and `auto_now_add` now also work for date fields.
- `BinaryField` had a wrong type.
- Metaclasses with keyword arguments are now possible.
- Relaxed Prefetching, tables can now appear multiple times.
- `select_related` now correctly filters columns.

0.12.0

Added

- Allow multiple ForeignKeys with the same related_name in one model.
- Support ForeignKeys on multiple columns.
- Allow selecting columns for ForeignKeys.
- Allow skipping creating a ForeignKeyConstraint.
- Add ExcludeField for masking fields in submodels.
- ManyToMany fields pass unique through to target foreignkey.
- Add ConditionalRedirect constant for CompositeField.
- Embeddables via CompositeField. See [Embedding](https://edgy.dymmond.com/embedding.md)
- Add ForeignKeyFactory, a factory with presets for building foreign keys.
- Multiple primary keys and names different from "id" are possible now.
- Add inherit flag for Manager, BaseFields and Models (when used as an embeddable). It is used for controlling the inheritance.
- Managers are now instance aware. You can customize the instance and they can react. They are also shallow copied for every class and instance.
- Improved Relations (reverse side of ForeignKeys and forward side of Many2Many). Have now add and remove methods and work like RefForeignKey (you can just specify an Array with assignment targets and they will be added).
- Allow skip building reverse RelatedFields for ForeignKeys with `related_name=False`.
- `pkcolumns` attribute of models (contains all found primary key columns).
- Some new methods on BaseField:
- `embed_field`: for controlling embedding a field in an CompositeField.
- `get_column_names`: helper function for retrieving the column names of a field.
- Add RelationshipField for traversable fields.

Changed

- ForeignKeys use now global constraints and indexes.
- Breaking: clean has now the argument to_query. See [Custom Fields](./fields.mdcustom-fields).
- Breaking: ManyToMany doesn't have a RelatedField on owner anymore and uses proxying. See [ManyToMany](./fields.mdManyToMany).
- Breaking: use singular related_name for unique ForeignKeys (or OneToOne). See [related_name](./queries/related-name.md)
- MetaInfo (meta) is now partly lazy.
- `pk` is now a PKField (a variant of the BaseCompositeField).
- `clean` and `to_columns` of BaseField do return empty objects instead of raising NotImplementedError.
- Major refactory of ForeignKeys, move logic for single ForeignKeys to subclass.
- Move FieldFactory and ForeignKeyFieldFactory to factories.
- Remove superfluous BaseOneToOneKeyField. Merged into BaseForeignKeyField.
- Remove unused attributes of MetaInfo and added some lazy evaluations for fields.

Breaking

- Prefetch traversal of foreign keys uses now the foreign key name. For the traversal of RelatedFields everything stays the same.

What's Changed

**Full Changelog**: https://github.com/dymmond/edgy/compare/0.11.1...0.12.0

0.11.1

Added

- [create_schema](https://edgy.tarsild.io/tenancy/edgy#the-schema-creation) allowing a dynamic and programatically
way of creating schemas in the database.

Changed

- Updated `reflection` from `edgy.ReflectModel` to use the internal database session and avoid
deadlocks.
- Internal cleaning for tenancy.

0.11.0

Added

- Support for [Marshall](https://edgy.tarsild.io/marshalls) allowing custom serialization of an Edgy model by [tarsil](https://github.com/tarsil).
- Support for the new [CompositeField](./fields.mdcompositefield) enhancing the ability of
having multiple primary keys (or composed keys) in an Edgy model by [devkral](https://github.com/devkral).
- Support for the `Q` queryset clause by [devkral](https://github.com/devkral).

Changed

- Cleaned up `FieldFactory` internals by [devkral](https://github.com/devkral).
- `pyproject.toml` definitions by [devkral](https://github.com/devkral).
- Internal Edgy `model_dump` covering internals of Edgy and corner cases of Pydantic for compatibility reasons by [devkral](https://github.com/devkral).

Fixed

- Typos in `is_primary` key attribute by [devkral](https://github.com/devkral).
- InspectDB when provided with a `schema` name was not using it in the registry.

0.10.1

Added

- Support for `list` and `tuples` as a type for [model_apps](https://edgy.tarsild.io/migrations/migrations/#using-the-model_apps).

Page 7 of 10

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.