Releases: tortoise/tortoise-orm
Releases · tortoise/tortoise-orm
0.22.1
0.22.0
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
0.21.7
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
0.21.6
Fixed
- Fix bug in
pydantic_model_creator
when a foreign key is not included ininclude
param. (#1430) - Fix bug in
contrib.sanic.register_tortoise
causing a deadlock when using asyncpg and > 1 workers (#1696) - Open psycopg pool with
.open()
to remove deprecated warning (#1697) - Fix bug in
bulk_update
when pk field is notid
(#1698) - Fix mysql uuid compression bug (#1687)
- Fix comment for fk fields without constraint for mysql (#1679)
- Removed no_delay option for postgres, as it wasn't doing anything (#1677)
0.21.5
0.21.4
Added
- Add ObjectDoesNotExistError to show better 404 message. (#759)
- DoesNotExist and MultipleObjectsReturned support 'Type[Model]' argument. (#742)(#1650)
- Add argument use_tz and timezone to RegisterTortoise. (#1649)
- Support await
tortoise.contrib.fastapi.RegisterTortoise
. (#1662) - Add
tortoise.contrib.test.init_memory_sqlite
. (#1657)
Fixed
- Fix
update_or_create
errors when field value changed. (#1584) - Fix bandit check error (#1643)
- Fix potential race condition in ConnectionWrapper (#1656)
- Fix py312 warning for datetime.utcnow (#1661)
- Fix reusing values and value_list queries (#780)
Changed
0.21.3
0.21.2
0.21.1
0.21.0
Added
- Enhancement for FastAPI lifespan support (#1371)
- Add
__eq__
method toQ
to more easily test dynamically-built queries (#1506) - Added PlainToTsQuery function for postgres (#1347)
- Allow field's default keyword to be async function (#1498)
- Add support for queryset slicing. (#1341)
Fixed
- Fix
DatetimeField
use '__year' report'int' object has no attribute 'utcoffset'
. (#1575) - Fix
bulk_update
when using custom fields. (#1564) - Fix
optional
parameter inpydantic_model_creator
does not work for pydantic v2. (#1551) - Fix
get_annotations
now evaluates annotations in the default scope instead of the app namespace. (#1552) - Fix
get_or_create
method. (#1404) - Use
index_name
instead ofBaseSchemaGenerator._generate_index_name
to generate index name. - Use subquery for count() and exists() in
QuerySet
to match count result toQuerySet
result. (#1607)
Changed
- Change
utils.chunk
from function to return iterables lazily. - Removed lower bound of id keys in generated pydantic models. (#1602)
- Rename Field initial arguments
pk
/index
toprimary_key
/db_index
. (#1621) - Renamed
Model.check
method toModel._check
to avoid naming collision issues (#1559) (#1550)
Breaking Changes
bulk_create
now does not return anything. (#1614)