3.8 KiB
Querying database with ormar
QuerySet
Each Model is auto registered with a QuerySet that represents the underlying query,
and it's options.
Most of the methods are also available through many to many relations and on reverse
foreign key relations through QuerysetProxy interface.
!!!info To see which one are supported and how to construct relations visit relations.
For simplicity available methods to fetch and save the data into the database are divided into categories according to the function they fulfill.
Note that some functions/methods are in multiple categories.
For complicity also Models and relations methods are listed.
To read more about any specific section or function please refer to the details subpage.
Create
-
create(**kwargs) -> Model -
get_or_create(**kwargs) -> Model -
update_or_create(**kwargs) -> Model -
bulk_create(objects: List[Model]) -> None -
ModelModel.save()methodModel.upsert()methodModel.save_related()method
-
QuerysetProxyQuerysetProxy.create(**kwargs)methodQuerysetProxy.get_or_create(**kwargs)methodQuerysetProxy.update_or_create(**kwargs)method
Read
-
get(**kwargs) -> Model -
get_or_create(**kwargs) -> Model -
first() -> Model -
all(**kwargs) -> List[Optional[Model]] -
ModelModel.load()method
-
QuerysetProxyQuerysetProxy.get(**kwargs)methodQuerysetProxy.get_or_create(**kwargs)methodQuerysetProxy.first()methodQuerysetProxy.all(**kwargs)method
Update
-
update(each: bool = False, **kwargs) -> int -
update_or_create(**kwargs) -> Model -
bulk_update(objects: List[Model], columns: List[str] = None) -> None -
ModelModel.update()methodModel.upsert()methodModel.save_related()method
-
QuerysetProxyQuerysetProxy.update_or_create(**kwargs)method
Delete
-
delete(each: bool = False, **kwargs) -> int -
ModelModel.delete()method
-
QuerysetProxyQuerysetProxy.remove()methodQuerysetProxy.clear()method
Joins and subqueries
-
select_related(related: Union[List, str]) -> QuerySet -
prefetch_related(related: Union[List, str]) -> QuerySet -
ModelModel.load()method
-
QuerysetProxyQuerysetProxy.select_related(related: Union[List, str])methodQuerysetProxy.prefetch_related(related: Union[List, str])method
Filtering and sorting
-
filter(**kwargs) -> QuerySet -
exclude(**kwargs) -> QuerySet -
order_by(columns:Union[List, str]) -> QuerySet -
get(**kwargs) -> Model -
get_or_create(**kwargs) -> Model -
all(**kwargs) -> List[Optional[Model]] -
QuerysetProxyQuerysetProxy.filter(**kwargs)methodQuerysetProxy.exclude(**kwargs)methodQuerysetProxy.order_by(columns:Union[List, str])methodQuerysetProxy.get(**kwargs)methodQuerysetProxy.get_or_create(**kwargs)methodQuerysetProxy.all(**kwargs)method
Selecting columns
-
fields(columns: Union[List, str, set, dict]) -> QuerySet -
exclude_fields(columns: Union[List, str, set, dict]) -> QuerySet -
QuerysetProxyQuerysetProxy.fields(columns: Union[List, str, set, dict])methodQuerysetProxy.exclude_fields(columns: Union[List, str, set, dict])method
Pagination and rows number
-
paginate(page: int) -> QuerySet -
limit(limit_count: int) -> QuerySet -
offset(offset: int) -> QuerySet -
get() -> Model -
first() -> Model -
QuerysetProxyQuerysetProxy.paginate(page: int)methodQuerysetProxy.limit(limit_count: int)methodQuerysetProxy.offset(offset: int)method
Aggregated functions
-
count() -> int -
exists() -> bool -
QuerysetProxyQuerysetProxy.count()methodQuerysetProxy.exists()method