Запрос базы данных с помощью ormar
Набор запросов
Каждая модель автоматически регистрируется в наборе запросов, представляющих базовый запрос и его параметры.
Большинство методов также могут быть реализованы обратными внешними ключами через отношения множественно-много, а также через интерфейс QuerysetProxy.
!!!info Чтобы узнать, какие отношения поддерживаются и как их построить, посетите Связи.
Для простоты методы получения данных и сохранения их в базе данных подразделяются на категории в зависимости от выполняемых ими функций.
Обратите внимание на то, что некоторые функции/методы относятся к нескольким категориям.
Для полноты представлены модели и реляционные методы.
Дополнительные сведения о каком-либо конкретном компоненте или функции см. на подстранице "Подробности".
Вставка данных в базу данных
-
создание (**kwargs) -> Модель
-
get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs) -> Tuple[Model, bool] -
update_or_create(**kwargs) -> Model -
bulk_create(objects: List[Model]) -> None -
Модель
- Метод Model.save()
- Метод Model.upsert()
- Метод Model.save_lated ()
-
Агент набора запросов
-
QuerysetProxy.create(**kwargs)Методология QuerysetProxy.get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs)МетодологииQuerysetProxy.update_or_create(**kwargs)Методологии
!!!tip Для получения дополнительной информации о любых или всех этих функциях см. раздел Создание.
Чтение данных из базы данных
-
get(**kwargs) -> Модель
-
get_or_none(**kwargs) -> Optional[Model] -
get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs) -> Tuple[Model, bool] -
Первый () -> Модель
-
all(**kwargs) -> List[Optional[Model]] -
Модель
- Метод mod.load ()
-
Агент набора запросов
-
QuerysetProxy.get (**kwargs) метод
QuerysetProxy.get_or_none(**kwargs)МетодологииQuerysetProxy.get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs)Методология- Метод QuerysetProxy.first (
- QuerysetProxy. all (**kwargs) метод
!!!tip Для получения дополнительной информации о некоторых или всех этих функциях, посетите раздел Читать.
Счет исходных данных из базы данных
Модель возвращает исходные данные в виде словаря или списка кортежей, а не ормара.
-
values(fields = None, exclude_through = False) -> List[Dict] -
values_list(fields = None, exclude_through = False, flatten = False) -> List -
Агент наборов запросов
QuerysetProxy.values(fields = None, exclude_through = False)МетодологияQuerysetProxy.values_list(fields = None, exclude_through= False, flatten = False)Методологии
!!!tip Для получения дополнительной информации о любых или всех этих функциях перейдите в раздел Исходные данные.
Обновить данные в базе данных
-
update(each: bool = False, **kwargs) -> int -
update_or_create(**kwargs) -> Model -
bulk_update(objects: List[Model], columns: List[str] = None) -> None -
Модель
- Метод update ()
- Метод Model. upsert ()
- Model.save
-
Агент наборов запросов
-
QuerysetProxy.update_or_create(**kwargs)Методология
!!!tip Для получения дополнительной информации о некоторых или всех этих функциях посетите раздел Обновления.
Удаление данных из базы данных.
-
delete(each: bool = False, **kwargs) -> int -
Модель
- Метод Model. delete ()
-
Агент наборов запросов
-
Метод QuerysetProxy.remove ()
- Метод QuerysetProxy.clear ()
!!!tip Для получения дополнительной информации о некоторых или всех этих функциях см. раздел Удаление.
Подключение и подзапросы
-
select_related(related: Union[List, str]) -> QuerySet -
prefetch_related(related: Union[List, str]) -> QuerySet -
Модель
- Метод mod.load ()
-
Агент наборов запросов
-
QuerysetProxy.select_related(related: Union[List, str])Методологии QuerysetProxy.prefetch_related(related: Union[List, str])Методология
!!!tip Для получения дополнительной информации о любых или всех этих функциях перейдите в раздел Подключения и подзапросы.
Фильтрация и сортировка
-
Фильтр (**kwargs) -> Поиск
-
Исключено (**kwargs) -> Набор запросов
-
order_by(columns:Union[List, str]) -> QuerySet -
get(**kwargs) -> модель
-
get_or_none(**kwargs) -> Optional[Model] -
get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs) -> Tuple[Model, bool] -
all(**kwargs) -> List[Optional[Model]] -
Агент набора запросов
QuerysetProxy.filter(**kwargs)МетодологияQuerysetProxy.exclude(**kwargs)МетодологииQuerysetProxy.order_by(columns:Union[List, str])Методология Метод* QuerysetProxy.get (**kwargs)QuerysetProxy.get_or_none(**kwargs)МетодологияQuerysetProxy.get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs)Методология- QuerysetProxy.all(**kwargs) метод
!!!tip Для получения дополнительной информации о некоторых или всех этих функциях см. раздел Фильтрация и сортировка.
Выбор столбцов
-
fields(columns: Union[List, str, set, dict]) -> QuerySet -
exclude_fields(columns: Union[List, str, set, dict]) -> QuerySet -
Агент набора запросов
QuerysetProxy.fields(columns: Union[List, str, set, dict])МетодологияQuerysetProxy.exclude_fields(columns: Union[List, str, set, dict])Методология
!!!tip Для получения дополнительной информации о некоторых или всех этих функциях см. раздел Выбор столбцов.
Страницы и строки
-
paginate(page: int) -> QuerySet -
limit(limit_count: int) -> QuerySet -
offset(offset: int) -> QuerySet -
get() -> модель
-
Первый () -> Модель
-
Агент наборов запросов
QuerysetProxy.paginate(page: int)МетодологииQuerysetProxy.limit(limit_count: int)МетодологииQuerysetProxy.offset(offset: int)Методология
!!!tip Для получения дополнительной информации о некоторых или всех этих функциях перейдите в раздел подкачки.
агрегатная функция
-
count(distinct: bool = True) -> int -
Существо () -> логическое значение
-
Агент наборов запросов
QuerysetProxy.count(distinct=True)Методология- Метод QuerysetProxy.exists()
!!!tip Для получения дополнительной информации о любых или всех этих функциях посетите раздел агрегации.