github tortoise/tortoise-orm 0.16.0
v0.16.0

latest releases: 0.20.0, 0.19.3, 0.19.2...
4 years ago

This release drops support for Python 3.6:
Tortoise ORM now requires a minimum of CPython 3.7

New features:

  • Model docstrings and #: comments directly preceding Field definitions are now used as docstrings and DDL descriptions.

    This is now cleaned and carried as part of the docstring parameter in describe_model(...)

    If one doesn't explicitly specify a Field description= or Model Meta.table_description= then we default to the first line as the description.
    This is done because a description is submitted to the DB, and needs to be short (depending on DB, 63 chars) in size.

  • Early Partial Init of models.

    We now have an early init of models, which can be useful when needing Models that are not bound to a DB, but otherwise complete.
    e.g. Schema generation without needing to be properly set up.

  • Pydantic serialisation.

    We now include native support for automatically building a Pydantic model from Tortoise ORM models.
    This will correctly model:

    • Data Fields
    • Relationships (FK/O2O/M2M)
    • Callables

    At this stage we only suport serialisation, not deserialisation.

    For mode information, please see :ref:contrib_pydantic

  • Allow usage of F expressions to in annotations. (#301)
  • Now negative number with limit(...) and offset(...) raise ParamsError. (#306)
  • Allow usage of Function to queryset.update(). (#308)
  • Add ability to supply distinct flag to Aggregate (#312)

Bugfixes:

  • Fix default type of JSONField

Removals:

  • Removed tortoise.aggregation as this was deprecated since 0.14.0

  • Removed start_transaction as it has been broken since 0.15.0

  • Removed support for Python 3.6 / PyPy-3.6, as it has been broken since 0.15.0

    If you still need Python 3.6 support, you can install tortoise-orm<0.16 as we will still backport critical bugfixes to the 0.15 branch for a while.

Don't miss a new tortoise-orm release

NewReleases is sending notifications on new releases.