Skip to content

Releases: tortoise/tortoise-orm

0.25.1

05 Jun 10:42
cb72b8a

Choose a tag to compare

Changed

  • Force async task switch every 2000 rows when converting db objects to python objects to avoid blocking the event loop (#1939)

Added

  • Add no_key parameter to queryset.select_for_update.
  • F() supports referencing JSONField attributes, e.g. F("json_field__custom_field__nested_id") (#1960)

0.25.0

14 Apr 11:41
503c93b

Choose a tag to compare

Fixed

  • Fix pydantic_model_creator incompatibility with Pydantic 2.11 (#1925)

Changed

  • Skip database selection if the router is not configured to improve performance (#1915)
  • .values(), .values_list() and .only() cannot be used together (#1923)

Added

  • .only supports selecting related fields, e.g. .only("related__field") (#1923)

0.24.2

03 Mar 15:16
a399d1a

Choose a tag to compare

Fixed

  • Fix model with multi m2m fields generates wrong references name (#1897)
  • Fix using reserved words in order_by (#1900)
  • Fix installing tortoise-orm with poetry 2 (#1885)

Changed

  • Use 'unique' instead of 'create_unique_index' for m2m field (#1903)

0.24.1

24 Feb 11:12
40b427d

Choose a tag to compare

Added

  • Implement __contains, __contained_by, __overlap and __len for ArrayField (#1877)

Fixed

  • Fix update pk field raises unfriendly error (#1873)
  • Using .distinct() with an annotation and .order_by() produces invalid SQL for PostgreSQL (#1886)

0.24.0

23 Jan 11:42
3a5e836

Choose a tag to compare

Fixed
^^^^^

  • Rename pypika to pypika_tortoise for fixing package name conflict (#1829)
  • Concurrent connection pool initialization (#1825)
  • _get_dialects: support properties (#1859)

Changed
^^^^^^^

  • Drop support for Python3.8 (#1848)
  • Optimize field conversion to database format to speed up create and bulk_create (#1840)
  • Improved query performance by optimizing SQL generation (#1837)

0.23.0

23 Dec 22:49
74bb056

Choose a tag to compare

Added

  • Implement savepoints for transactions (#1816)
  • Added type validation for foreign key fields to ensure type safety. Now raises ValidationError when assigning foreign key values with incorrect model types (#1792)

Fixed

  • Fixed a deadlock in three level nested transactions (#1810)
  • Fix backward_relations in PydanticMeta (#1814)

0.22.2

09 Dec 09:41
e5cadb5

Choose a tag to compare

Fixed

  • Fix bug related to Connector.div in combined expressions. (#1794)
  • Fix recovery in case of database downtime (#1796)

Changed

  • Parametrizes UPDATE, DELETE, bulk update and create operations (#1785)
  • Parametrizes related field queries (#1797)

Added

  • CharEnumField and IntEnumField is supported by pydantic_model_creator (#1798)

0.22.1

25 Nov 10:04

Choose a tag to compare

Fixed

  • Fix unable to use ManyToManyField if OneToOneField passed as Primary Key (#1783)
  • Fix sorting by Term (e.g. RawSQL) (#1788)

Changed

  • Refactor select query parametrisation (#1777)

0.22.0

19 Nov 23:27

Choose a tag to compare

Added

  • JSONField adds optional generic support, and supports OpenAPI document generation by specifying field_type as a pydantic BaseModel (#1763)
  • Add table_name_generator attribute to Tortoise.init for dynamic table name generation (#1770)
  • Support for annotation and joins F() expressions (#1761) (#1765)
  • Allow use of annotate fields within Case-When expression (#1748)
  • Added new queryset methods: last(), latest(), earliest() (#1754) (#1756)

Fixed

  • Fix enums not quoted, allowing using of str enums for filters (#1776)
  • Primary key field should not be nullable in pydantic schema (#1778)
  • Fix ambiguous column name when grouping with joining (#1766)
  • Fix same model returned by pydantic_model_creator calls with different arguments (#1741)

Changed

  • Change old pydantic docs link to new one (#1775).
  • Refactored pydantic_model_creator, interface not changed (#1763)
  • Values are no longer validated to be right type upon loading from database (#1750)
  • Refactored private field names in queryset classes (#1751)

0.21.7

14 Oct 08:04
0ddf8d3

Choose a tag to compare

Fixed

  • Fix unittest error with pydantic2.9 (#1734)
  • Fix bug when using annotate and count at the same time but the annotation does not match anything, leading to an IndexError (#1707)
  • Added missing field_type for TimeDeltaField (#1462) (#1699)
  • improve jsonfield type hint (#1700)
  • Fix bug in tortoise.models.Model When a QuerySet uses the only function and then uses the print function to print the returned result, an AttributeError is generated (#1724)
  • Update the pylint plugin to latest astroid version (#1708)

Added

  • Add POSIX Regex support for PostgreSQL and MySQL (#1714)
  • support app=None for tortoise.contrib.fastapi.RegisterTortoise (#1733)