Aller au contenu

Interroger une base de données avec ormar

Enquête Set

Chaque modèle est automatiquement enregistré dans un ensemble de requêtes représentant la requête sous-jacente et ses options.

La plupart des méthodes peuvent également implémenter des relations de clé étrangère inversées via des relations plusieurs-à-plusieurs, ainsi que via l'interface QuerysetProxy.

!!!info Pour voir quelles relations sont prises en charge et comment elles sont structurées, visitez Relations.

Par souci de simplicité, les méthodes disponibles pour obtenir des données et les enregistrer dans une base de données sont divisées en plusieurs catégories en fonction de la fonctionnalité qu 'elles implémentent.

Notez que certaines fonctions/méthodes appartiennent à plusieurs catégories.

Par souci d'exhaustivité, les modèles et les approches relationnelles sont énumérés.

Pour en savoir plus sur une section ou une fonctionnalité particulière, consultez la sous-page Détails.

Insérer des données dans une base de données

  • Create (**kwargs) -> Modèle

  • get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs) -> Tuple[Model, bool]

  • update_or_create(**kwargs) -> Model

  • bulk_create(objects: List[Model]) -> None

  • Modèle de

    • Model.save () Méthode
    • Modèle.upsert() Méthode
    • Model.save_lated() Méthode
    • Query Set Agent pour

    • QuerysetProxy.create(**kwargs) Méthode

    • QuerysetProxy.get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs) Méthodes
    • QuerysetProxy.update_or_create(**kwargs) Méthode

!!!Conseil Pour en savoir plus sur l'une ou l'autre de ces fonctions, visitez la section Créer.

Lire les données d'une base de données

  • obtenir (**kwargs) -> Modèle

  • get_or_none(**kwargs) -> Optional[Model]

  • get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs) -> Tuple[Model, bool]

  • Première () -> Modèle

  • all(**kwargs) -> List[Optional[Model]]

  • Modèle de

    • La méthode Model.load()
    • Query Set Agent pour

    • QuerysetProxy.get(**kwargs) méthode

    • QuerysetProxy.get_or_none(**kwargs) Méthodes
    • QuerysetProxy.get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs) Méthode
    • QuerysetProxy.first() méthode
    • QuerysetProxy.all(**kwargs) Méthode

!!!Conseil Pour en savoir plus sur l'une ou l'autre de ces fonctionnalités, visitez la section Lecture.

Lire les données brutes d'une base de données

Le modèle renvoie les données brutes sous la forme d'un dictionnaire ou d'une liste de tuples, plutôt que sous forme d'ormar.

  • values(fields = None, exclude_through = False) -> List[Dict]

  • values_list(fields = None, exclude_through = False, flatten = False) -> List

  • Query Set Agent pour

    • QuerysetProxy.values(fields = None, exclude_through = False) Méthodes
    • QuerysetProxy.values_list(fields = None, exclude_through= False, flatten = False) Méthodes

!!!Pour en savoir plus sur l'une ou l'autre de ces fonctions, visitez la section Données brutes.

Mettre à jour les données dans la base de données

  • update(each: bool = False, **kwargs) -> int

  • update_or_create(**kwargs) -> Model

  • bulk_update(objects: List[Model], columns: List[str] = None) -> None

  • Modèle de

    • Modèle. méthode update()
    • Modèle.upsert() Méthode
    • Model.save_lated() Méthode
    • Query Set Agent pour

    • QuerysetProxy.update_or_create(**kwargs) Méthode

!!!Pour en savoir plus sur l'une ou l'autre de ces fonctionnalités, visitez la section Mises à jour.

Supprimer des données de la base de données

  • delete(each: bool = False, **kwargs) -> int

  • Modèle de

    • La méthode Model.delete()
    • Query Set Agent pour

    • QuerysetProxy.remove() Méthode

    • QuerysetProxy.clear() Méthode

!!!Conseil Pour en savoir plus sur l'une ou l'autre de ces fonctionnalités, visitez la section Supprimer.

Connexions et sous-requêtes

  • select_related(related: Union[List, str]) -> QuerySet

  • prefetch_related(related: Union[List, str]) -> QuerySet

  • Modèle de

    • La méthode Model.load()
    • Query Set Agent pour

    • QuerysetProxy.select_related(related: Union[List, str]) Méthode

    • QuerysetProxy.prefetch_related(related: Union[List, str]) Méthode

!!!Pour en savoir plus sur l'une ou l'autre de ces fonctions, visitez la section Connexions et sous-requêtes.

Filtrer et trier

  • Filter (**kwargs) -> Query Set

  • Exclusions (**kwargs) -> Ensemble de requêtes

  • order_by(columns:Union[List, str]) -> QuerySet

  • get(**kwargs) -> Modèle

  • get_or_none(**kwargs) -> Optional[Model]

  • get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs) -> Tuple[Model, bool]

  • all(**kwargs) -> List[Optional[Model]]

  • Query Set Agent pour

    • QuerysetProxy.filter(**kwargs) Méthodes
    • QuerysetProxy.exclude(**kwargs) Méthodes
    • QuerysetProxy.order_by(columns:Union[List, str]) Méthodes
    • QuerysetProxy.get(**kwargs) méthode
    • QuerysetProxy.get_or_none(**kwargs) Méthode
    • QuerysetProxy.get_or_create(_defaults: Optional[Dict[str, Any]] = None, **kwargs) Méthodes
    • QuerysetProxy.all(**kwargs) Méthode

!!!Conseil Pour en savoir plus sur l'une ou l'autre de ces fonctionnalités, consultez la section Filtrer et trier.

Sélectionnez une colonne

  • fields(columns: Union[List, str, set, dict]) -> QuerySet

  • exclude_fields(columns: Union[List, str, set, dict]) -> QuerySet

  • Query Set Agent pour

    • QuerysetProxy.fields(columns: Union[List, str, set, dict]) Méthodes
    • QuerysetProxy.exclude_fields(columns: Union[List, str, set, dict]) Méthode

!!!Conseil Pour en savoir plus sur l'une ou l'ensemble de ces fonctionnalités, visitez la section Colonne de sélection.

Pagination et nombre de lignes

  • paginate(page: int) -> QuerySet

  • limit(limit_count: int) -> QuerySet

  • offset(offset: int) -> QuerySet

  • get() -> Modèle

  • Première () -> Modèle

  • Query Set Agent pour

    • QuerysetProxy.paginate(page: int) Méthodes
    • QuerysetProxy.limit(limit_count: int) Méthodes
    • QuerysetProxy.offset(offset: int) Méthode

!!!Conseil Pour en savoir plus sur l'une ou l'autre de ces fonctionnalités, visitez la section Pagination.

Fonctions agrégées

  • count(distinct: bool = True) -> int

  • Existence () -> valeurs booléennes

  • Query Set Agent pour

    • QuerysetProxy.count(distinct=True) Méthode
    • QuerysetProxy.exists() Méthode

!!!tip Pour en savoir plus sur l'une ou l'autre de ces fonctions, visitez la section Agrégation.