python (3) Collection Dominer ORM

Pour une raison quelconque, dans la zone qiita, sqlalchemy est une option (561 recherches, 161 balises), mais il y en a d'autres, non? Naturellement, il y en avait.

Les deux sont des requêtes et se caractérisent par une description assez particulière. À première vue, je ne sais pas lequel fonctionne, python / DB. Suis-je influencé par linq?

recherche peewee 35 balise 8

coleifer/peewee: a small, expressive orm -- supports postgresql, mysql and sqlite peewee — peewee 3.13.3 documentation

from peewee import *
import datetime


db = SqliteDatabase('my_database.db')

class BaseModel(Model):
    class Meta:
        database = db

class User(BaseModel):
    username = CharField(unique=True)

class Tweet(BaseModel):
    user = ForeignKeyField(User, backref='tweets')
    message = TextField()
    created_date = DateTimeField(default=datetime.datetime.now)
    is_published = BooleanField(default=True)
query = (Facility
         .select(Facility.facid, Facility.name, Facility.membercost,
                 Facility.monthlymaintenance)
         .where(
             (Facility.membercost > 0) &
             (Facility.membercost < (Facility.monthlymaintenance / 50))))

ponyorm ← qiita n'est là que pour le moment

Certains dehors

La partie très caractéristique et déroutante est qu'il accepte la syntaxe du générateur python3 directement dans la requête, et si vous définissez la relation n: m, il créera une table intermédiaire sans autorisation.

from pony.orm import *

db = Database()

class MyEntity(db.Entity):
    attr1 = Required(str)
select(c for c in Customer if sum(c.orders.price) > 1000)
SELECT "c"."id"
FROM "customer" "c"
  LEFT JOIN "order" "order-1"
    ON "c"."id" = "order-1"."customer"
GROUP BY "c"."id"
HAVING coalesce(SUM("order-1"."total_price"), 0) > 1000

Recommended Posts

python (3) Collection Dominer ORM
petite histoire de python
[Python] Trier les types de collection
collection d'extraits de python avec cinema4d
Collection de traitement d'image en Python
Python
Opération de collecte de type Scala en Python
Générer une collection de première classe en Python
Collecte automatique des cours boursiers à l'aide de python
[Python] Trier les types de collection comme référence
Programmation scientifique Collection Petit Tech en Python