Найти в Дзене
Павлин Шарит

Обновляю тут зависимости в нашем шаблоне для фастапи, читаю ченджлоги и наконец-то вижу, что в tortoise добавили возможность фильтровать по

Обновляю тут зависимости в нашем шаблоне для фастапи, читаю ченджлоги и наконец-то вижу, что в tortoise добавили возможность фильтровать по JSON (а точнее говоря jsonb полям) в postgres То есть теперь у нас есть django-like интерфейс для работы с JSON данными через F() expressions # Модель class Product(Model): name = fields.CharField(max_length=100) metadata = fields.JSONField() # Сохраняем данные await Product.create( name="Смартфон", metadata={"category": {"id": 1}, "price": 50000} ) # А теперь можно фильтровать по вложенным полям products = await Product.annotate( category_id=F("metadata__category__id") ).filter(category_id=1) Это решает давнюю проблему Tortoise ORM — раньше приходилось либо писать сырые SQL запросы, или сохранять в отдельной колонке, чтобы по ней фильтровать Так что если кто-то через шаблон стартовал то следует обновиться или стянуть уже с свежими зависимостями Да-да, уверен, что в всеми любимом sqlalchemy он был уже с 2014

Обновляю тут зависимости в нашем шаблоне для фастапи, читаю ченджлоги и наконец-то вижу, что в tortoise добавили возможность фильтровать по JSON (а точнее говоря jsonb полям) в postgres

То есть теперь у нас есть django-like интерфейс для работы с JSON данными через F() expressions

# Модель

class Product(Model):

name = fields.CharField(max_length=100)

metadata = fields.JSONField()

# Сохраняем данные

await Product.create(

name="Смартфон",

metadata={"category": {"id": 1}, "price": 50000}

)

# А теперь можно фильтровать по вложенным полям

products = await Product.annotate(

category_id=F("metadata__category__id")

).filter(category_id=1)

Это решает давнюю проблему Tortoise ORM — раньше приходилось либо писать сырые SQL запросы, или сохранять в отдельной колонке, чтобы по ней фильтровать

Так что если кто-то через шаблон стартовал то следует обновиться или стянуть уже с свежими зависимостями

Да-да, уверен, что в всеми любимом sqlalchemy он был уже с 2014