当我尝试更新 hstore 字段时遇到问题。我有以下翻译混合和数据库模型。
translation_hybrid = TranslationHybrid(
current_locale='en',
default_locale='de'
)
class Book:
__tablename__ = "Book"
id = Column(UUID(as_uuid=True), primary_key=True)
title_translations = Column(MutableDict.as_mutable(HSTORE), nullable=False)
title = translation_hybrid(title_translations)
我想使用单个 orm 查询使用当前语言环境更新标题。当我尝试以下查询时
query(Book).filter(Book.id == id).update({"title": "new_title"})
ORM 将其转换为以下 sql:
UPDATE "Book" SET coalesce(title_translations -> 'en', title_translations -> 'de') = "new_title" WHERE "Book".id = id
这个 sql 给出了语法错误。在不先获取模型并将值分配给字段的情况下更新它的最佳方法是什么?