Releases: tortoise/tortoise-orm
v0.12.6
- Handle a
__models__
variable within modules to override the model discovery mechanism:
If you define the__models__
variable inyourapp.models
(or wherever you specify to load your models from),
generate_schema()
will use that list, rather than automatically finding all models for you. - Split model consructor into from-Python and from-DB paths, leading to 15-25% speedup for large fetch operations.
- More efficient queryset manipulation, 5-30% speedup for small fetches.
v0.12.5
v0.12.4
v0.12.3
v0.12.2
v0.12.1
Bulk insert operation
The bulk insert operation will do the minimum to ensure that the object created in the DB has all the defaults and generated fields set, but may be incomplete reference in Python.
e.g. IntField
primary keys will not be poplulated.
This is recommend only for throw away inserts where you want to ensure optimal insert performance.
User.bulk_create([
User(name="...", email="..."),
User(name="...", email="...")
])
Also: Notable efficiency improvement for regular inserts
v0.12.0
Tortoise ORM now supports non-autonumber primary keys.
This is a big feature change. It should not break any existing implementations.
We currently support single (non-composite) primary keys of any indexable field type, but only these field types are recommended:
IntField
BigIntField
CharField
UUIDField
The primary key will be accessible through a reserved field pk
which will be an alias of whichever field has been nominated as a primary key.
The alias field can be used as a field name when doing filtering e.g. .filter(pk=...)
etc...
One must define a primary key by setting a pk
parameter to True
.
If you don't define a primary key, we will create a primary key of type IntField
with name of id
for you.