Рассмотрим следующую модель с тегами:
from sqlalchemy import cast, Text
from sqlalchemy.dialects.postgresql import ARRAY, array
class User(Base):
__tablename__ = 'users'
tags = Column(ARRAY(Text), nullable=False,
default=cast(array([], type_=Text), ARRAY(Text)))
Кажется, я не могу найти никакой документации о том, как обновить поле. Конечно, я могу сделать что-то, как предложено в Обновление массива PostgreSQL с помощью SQLAlchemy :
user = session.query(User).get(1)
user.tags = ['abc', 'def', 'ghi']
session.add(user)
session.commit()
Но это решение предполагает установку всего значения массива.
Что если я просто хочу добавить значение в массив? Что если я захочу пометить группу из User
объектов одним запросом? Как мне это сделать?