SQLAlchemy + Postgres:合并时“您可能需要添加显式类型转换”

罗马瓦瑟

我有一个使用SQLAlchemy的应用程序,当我使用SQLite时运行良好。但是,当我迁移到PostgreSQL时,发现自己甚至无法进行合并。这是我无法用于合并项目的表的模型:

class Item(db.Model):
    __tablename__ = "prices"
    defindex = db.Column(db.Integer, primary_key=True)
    quality = db.Column(db.Integer, primary_key=True)
    craftable = db.Column(db.Boolean, primary_key=True)
    tradeable = db.Column(db.Boolean, primary_key=True)
    item_metadata = db.Column(db.String(70), primary_key=True)
    name = db.Column(db.String(70), primary_key=True)
    currency = db.Column(db.String(70))
    price = db.Column(db.Float)
    price_high = db.Column(db.Float)

这是我尝试进行合并的方式(假设所有变量的确分配了正确的值):

    new_item = Item(defindex=int(defindex), quality=int(quality), craftable=bool(is_craft),
                tradeable=bool(is_trade), item_metadata=int(priceindex), currency=str(currency),
                price=float(price), price_high=float(price), name=str(name))

但是在这个电话上,我得到一个错误:

sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) operator does not exist: character varying = integer
LINE 3: ... prices.tradeable = true AND prices.item_metadata = 0 AND pr...
                                                         ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
[SQL: 'SELECT prices.defindex AS prices_defindex, prices.quality AS prices_quality, prices.craftable AS prices_craftable, prices.tradeable AS prices_tradeable, prices.item_metadata AS prices_item_metadata, prices.name AS prices_name, prices.currency AS prices_currency, prices.price AS prices_price, prices.price_high AS prices_price_high \nFROM prices \nWHERE prices.defindex = %(param_1)s AND prices.quality = %(param_2)s AND prices.craftable = %(param_3)s AND prices.tradeable = %(param_4)s AND prices.item_metadata = %(param_5)s AND prices.name = %(param_6)s'] [parameters: {'param_1': 1067, 'param_3': True, 'param_6': 'Grandmaster', 'param_5': 0, 'param_4': True, 'param_2': 1}]

我尝试在创建时添加所有类型转换new_item,但没有用,错误仍然存​​在。我应该怎么做才能解决?

谢尔盖·戈尔诺斯塔耶夫(Sergey Gornostaev)

item_metadata定义为字符串,因此它必须是字符串。使用SQLite之所以起作用,是因为SQLite使用了动态类型它不强制执行数据类型约束。任何类型的数据都可以(通常)插入任何列中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法选择最佳候选函数。您可能需要在Postgres中添加显式类型转换

来自分类Dev

您可能需要添加显式类型转换

来自分类Dev

Python数据集模块错误:您可能需要添加显式类型强制转换

来自分类Dev

web2py错误:您可能需要添加显式类型强制转换

来自分类Dev

plpgsql:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换

来自分类Dev

PostgreSQL错误没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换

来自分类Dev

没有运算符匹配给定的名称和参数类型。您可能需要添加显式类型转换

来自分类Dev

如何使用PostgreSQL在sqlalchemy中显式转换数组文字的类型?

来自分类Dev

SQLAlchemy:转换为日期类型

来自分类Dev

SQLAlchemy查询可能吗?

来自分类Dev

sqlalchemy中的点类型?

来自分类Dev

提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。Trigram相似性Django

来自分类Dev

SQLAlchemy 在 postgres 中添加/更新 jsonb 字段

来自分类Dev

Postgres,SQLAlchemy和多处理

来自分类Linux

使用SQLAlchemy Postgres批量上传

来自分类Dev

Python SQLAlchemy更新Postgres记录

来自分类Dev

Flask-SQLAlchemy数值类型

来自分类Dev

Python SQLAlchemy检查无类型

来自分类Dev

将SQL转换为sqlalchemy

来自分类Dev

SQLAlchemy 添加与 add_all

来自分类Dev

使用 SQLAlchemy ORM 添加记录

来自分类Dev

SQLAlchemy中的条件添加语句

来自分类Dev

显示最新添加的 sqlalchemy

来自分类Dev

cherrypy + sqlalchemy + sqlalchemy-datatables:不可散列类型:dict

来自分类Dev

在SQLAlchemy中执行联接时出错,“请显式指定此联接的'onclause'。”

来自分类Dev

Pandas / SQLalchemy合并数据框和表

来自分类Dev

将Oracle数据类型转换为SQLAlchemy类型

来自分类Dev

为什么需要重做自动映射?(SQLAlchemy)

来自分类Dev

我需要使用SQLAlchemy会话吗?

Related 相关文章

  1. 1

    无法选择最佳候选函数。您可能需要在Postgres中添加显式类型转换

  2. 2

    您可能需要添加显式类型转换

  3. 3

    Python数据集模块错误:您可能需要添加显式类型强制转换

  4. 4

    web2py错误:您可能需要添加显式类型强制转换

  5. 5

    plpgsql:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换

  6. 6

    PostgreSQL错误没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换

  7. 7

    没有运算符匹配给定的名称和参数类型。您可能需要添加显式类型转换

  8. 8

    如何使用PostgreSQL在sqlalchemy中显式转换数组文字的类型?

  9. 9

    SQLAlchemy:转换为日期类型

  10. 10

    SQLAlchemy查询可能吗?

  11. 11

    sqlalchemy中的点类型?

  12. 12

    提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。Trigram相似性Django

  13. 13

    SQLAlchemy 在 postgres 中添加/更新 jsonb 字段

  14. 14

    Postgres,SQLAlchemy和多处理

  15. 15

    使用SQLAlchemy Postgres批量上传

  16. 16

    Python SQLAlchemy更新Postgres记录

  17. 17

    Flask-SQLAlchemy数值类型

  18. 18

    Python SQLAlchemy检查无类型

  19. 19

    将SQL转换为sqlalchemy

  20. 20

    SQLAlchemy 添加与 add_all

  21. 21

    使用 SQLAlchemy ORM 添加记录

  22. 22

    SQLAlchemy中的条件添加语句

  23. 23

    显示最新添加的 sqlalchemy

  24. 24

    cherrypy + sqlalchemy + sqlalchemy-datatables:不可散列类型:dict

  25. 25

    在SQLAlchemy中执行联接时出错,“请显式指定此联接的'onclause'。”

  26. 26

    Pandas / SQLalchemy合并数据框和表

  27. 27

    将Oracle数据类型转换为SQLAlchemy类型

  28. 28

    为什么需要重做自动映射?(SQLAlchemy)

  29. 29

    我需要使用SQLAlchemy会话吗?

热门标签

归档