Tortoise ORM changelog

Familiar asyncio ORM for python, built with relations in mind

All Versions
125
Latest Version
Avg Release Cycle
-
Latest Release
-

Changelog History
Page 3

  • v0.16.17 Changes

    • βž• Add on_delete in ManyToManyField. (#508)
    • πŸ‘Œ Support F expression in annotate. (#475)
    • πŸ›  Fix QuerySet.select_related in case of join same table twice. (#525)
    • ↔ Integrate Aerich into the install. (#530)
  • v0.16.16 Changes

    • πŸ›  Fixed inconsistency in integrity error exception of FastAPI
    • add OSError to _get_comments except block
  • v0.16.15 Changes

    • πŸ‘‰ Make DateField accept valid date str.
    • Add QuerySet.select_for_update().
    • 0️⃣ check default for not None on pydantic model creation
    • 0️⃣ propagate default to pydantic model
    • βž• Add QuerySet.select_related().
    • βž• Add custom attribute name for Prefetch instruction.
    • βž• Add db_constraint for RelationalField family.
  • v0.16.14 Changes

    • πŸ‘‰ Make F expression work with QuerySet.filter().
    • Include py.typed in source distribution.
    • βž• Added datetime parsing from int for fields.DatetimeField.
    • get_or_create passes the using_db= on if provided.
    • πŸ‘ Allow custom loop and connection_class parameters to be passed on to asyncpg.
  • v0.16.13 Changes

    • 0️⃣ Default install of tortoise-orm now installs with no C-dependencies, if you want to use the C accelerators, please do a pip install tortoise-orm[accel] instead.
    • βž• Added <instance>.clone() method that will create a cloned instance in memory. To persist it you still need to call .save()
    • πŸ‘― .clone() will raise a ParamsError if tortoise can't generate a primary key. In that case do a .clone(pk=<newval>)
    • πŸ‘― If manually setting the primary key value to None and the primary key can be automatically generated, this will create a new record. We however still recommend the .clone() method instead.
    • .save() can be forced to do a create by setting force_create=True
    • ⚑️ .save() can be forced to do an update by setting force_update=True
    • ⚑️ Setting update_fields for a .save() operation will strongly prefer to do an update if possible
  • v0.16.12 Changes

    • 0️⃣ Make Field.default effect on db level when generate table
    • βž• Add converters instead of importing from pymysql
    • πŸ›  Fix postgres BooleanField default value convent
    • Fix JSONField typed in pydantic_model_creator
    • βž• Add .sql() method on QuerySet
  • v0.16.11 Changes

    • πŸ›  fix: sqlite://:memory: in Windows thrown OSError: [WinError 123]
    • πŸ‘Œ Support bulk_create() insertion of records with overridden primary key when the primary key is DB-generated
    • βž• Add queryset.exists() and Model.exists().
    • βž• Add model subscription lookup, Model[<pkval>] that will return the object or raise KeyError
  • v0.16.10 Changes

    • πŸ›  Fix bad import of basestring
    • πŸ‘ Better handling of NULL characters in strings. Fixes SQLite, raises better error for PostgreSQL.
    • πŸ‘Œ Support .group_by() with join now
  • v0.16.9 Changes

    • πŸ‘Œ Support F expression in .save() now
    • IntEnumField accept valid int value and CharEnumField accept valid str value
    • Pydantic models get created with globally unique identifier
    • Leaf-detection to minimize duplicate Pydantic model creation
    • Pydantic models with a Primary Key that is also a raw field of a relation is now not hidden when exclude_raw_fields=True as it is a critically important field
    • Raise an informative error when a field is set as nullable and primary key at the same time
    • Foreign key id's are now described to have the positive-integer range of the field it is related to
    • πŸ›  Fixed prefetching over OneToOne relations
    • πŸ›  Fixed __contains for non-text fields (e.g. JSONB)
  • v0.16.8 Changes

    • πŸ‘ Allow Q expression to function with _filter parameter on aggregations
    • βž• Add manual .group_by() support
    • πŸ›  Fixed regression where GROUP BY class is missing for an aggregate with a specified order.
Awesome Python is part of the LibHunt network. Terms. Privacy Policy.

(CC)
BY-SA
We recommend Spin The Wheel Of Names for a cryptographically secure random name picker.

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /