add skip_reverse parameter, add links to related libs, fix weakref error, fix through error with extra=forbid
This commit is contained in:
@ -47,15 +47,35 @@ since they actually have to create and connect to database in most of the tests.
|
||||
|
||||
Yet remember that those are - well - tests and not all solutions are suitable to be used in real life applications.
|
||||
|
||||
### Part of the `fastapi` ecosystem
|
||||
|
||||
As part of the fastapi ecosystem `ormar` is supported in libraries that somehow work with databases.
|
||||
|
||||
As of now `ormar` is supported by:
|
||||
|
||||
* [`fastapi-users`](https://github.com/frankie567/fastapi-users)
|
||||
* [`fastapi-crudrouter`](https://github.com/awtkns/fastapi-crudrouter)
|
||||
* [`fastapi-pagination`](https://github.com/uriyyo/fastapi-pagination)
|
||||
|
||||
If you maintain or use different library and would like it to support `ormar` let us know how we can help.
|
||||
|
||||
### Dependencies
|
||||
|
||||
Ormar is built with:
|
||||
|
||||
* [`SQLAlchemy core`][sqlalchemy-core] for query building.
|
||||
* [`sqlalchemy core`][sqlalchemy-core] for query building.
|
||||
* [`databases`][databases] for cross-database async support.
|
||||
* [`pydantic`][pydantic] for data validation.
|
||||
* `typing_extensions` for python 3.6 - 3.7
|
||||
|
||||
### Migrating from `sqlalchemy`
|
||||
|
||||
If you currently use `sqlalchemy` and would like to switch to `ormar` check out the auto-translation
|
||||
tool that can help you with translating existing sqlalchemy orm models so you do not have to do it manually.
|
||||
|
||||
**Beta** versions available at github: [`sqlalchemy-to-ormar`](https://github.com/collerek/sqlalchemy-to-ormar)
|
||||
or simply `pip install sqlalchemy-to-ormar`
|
||||
|
||||
### Migrations & Database creation
|
||||
|
||||
Because ormar is built on SQLAlchemy core, you can use [`alembic`][alembic] to provide
|
||||
|
||||
@ -1,3 +1,29 @@
|
||||
# 0.10.3
|
||||
|
||||
## ✨ Features
|
||||
|
||||
* `ForeignKey` and `ManyToMany` now support `skip_reverse: bool = False` flag [#118](https://github.com/collerek/ormar/issues/118).
|
||||
If you set `skip_reverse` flag internally the field is still registered on the other
|
||||
side of the relationship so you can:
|
||||
* `filter` by related models fields from reverse model
|
||||
* `order_by` by related models fields from reverse model
|
||||
|
||||
But you cannot:
|
||||
* access the related field from reverse model with `related_name`
|
||||
* even if you `select_related` from reverse side of the model the returned models won't be populated in reversed instance (the join is not prevented so you still can `filter` and `order_by`)
|
||||
* the relation won't be populated in `dict()` and `json()`
|
||||
* you cannot pass the nested related objects when populating from `dict()` or `json()` (also through `fastapi`). It will be either ignored or raise error depending on `extra` setting in pydantic `Config`.
|
||||
|
||||
## 🐛 Fixes
|
||||
|
||||
* Fix weakref `ReferenceError` error [#118](https://github.com/collerek/ormar/issues/118)
|
||||
* Fix error raised by Through fields when pydantic `Config.extra="forbid"` is set
|
||||
|
||||
## 💬 Other
|
||||
* Introduce link to `sqlalchemy-to-ormar` auto-translator for models
|
||||
* Provide links to fastapi ecosystem libraries that support `ormar`
|
||||
|
||||
|
||||
# 0.10.2
|
||||
|
||||
## ✨ Features
|
||||
|
||||
Reference in New Issue
Block a user