Какие знаешь ORM
Python
Junior
Без компании
Какие знаешь ORM
Ответы
Django ORM — встроен в Django, удобен для работы с моделями, поддерживает миграции, агрегации, аннотации. Пример:
```
from django.db import models
class User(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
```
SQLAlchemy — мощная ORM с гибкостью SQL, поддерживает Core (низкоуровневый SQL) и ORM (высокоуровневый). Пример:
```
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
```
Peewee — легковесная ORM с простым синтаксисом, подходит для небольших проектов. Пример:
```
from peewee import Model, CharField, IntegerField
from peewee import SqliteDatabase
db = SqliteDatabase('users.db')
class User(Model):
name = CharField()
age = IntegerField()
class Meta:
database = db
```
Tortoise ORM — асинхронная ORM для asyncio, вдохновлена Django ORM. Пример:
```
from tortoise.models import Model
from tortoise import fields
class User(Model):
id = fields.IntField(pk=True)
name = fields.CharField(max_length=100)
```