python - 不知道如何删除sqlalchemy 1.4关于cache_ok的警告

标签 python postgresql sqlalchemy

我将 sqlalchemy 1.4.17 与 postgres 一起使用,并进行 pytest-asyncio 测试,该测试调用一个创建包含 uuid 的记录的函数。


async def create_user(session: AsyncSession, input_user_data):
     new_user = model.User(**dict(input_user_data))
     session.add(new_user)
     await session.commit()
class User(Base):
    __tablename__ = "user"
    id = Column(GUID, primary_key=True,
                server_default=DefaultClause(text("gen_random_uuid()")))

它运行正常,但会产生警告

  sys:1: SAWarning: TypeDecorator GUID() will not produce a cache key because the ``cache_ok`` flag is not set to True.  Set this flag to True if this type object's state is safe to use in a cache key, or False to disable this warning.

并且不知道如何使其静音。感谢任何帮助!

最佳答案

谢谢@snakecharmerb。这让我意识到我做错了什么。如果这对其他人有帮助,我从 fastapi_utils 导入 GUID,然后直接从 sqlalchemy 导入

# from fastapi_utils.guid_type import GUID, GUID_SERVER_DEFAULT_POSTGRESQL
from sqlalchemy.dialects.postgresql import UUID
class User(Base):
    __tablename__ = "user"
    id = Column(UUID, primary_key=True,
                server_default=DefaultClause(text("gen_random_uuid()")))

使用 SQL alchemy typedecorator 比更改 fastapi utils lib 更容易。

关于python - 不知道如何删除sqlalchemy 1.4关于cache_ok的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67855798/

相关文章:

hibernate - 如何从 postgresql 数据库获取最新记录?

python - 使用 SQLAlchemy 进行 Pyramid 异常记录 - 命令未提交

python - 关于 tokenize.py 的问题

java - SQL 或 Spring JDBC 返回对象的对象

python - 计算大量序列的成对差异矩阵?

postgresql - 我忘记了我在安装 PostgreSQL 时输入的密码

python - SQLAlchemy 删除相关元素取决于标志

python - 在 Sqlalchemy 中进行枚举的最佳方法?

python - 在python中的字符串中查找unicodes的所有匹配项

Python - 如何在 Visual Studio Code 本身中显示图形?