整数(字符串)的无效输入语法

省长

我正在尝试在 apache2 服务器上运行一个小应用程序,我使用的原始数据库是 Sqlite,现在我正在切换到 Postgresql。该项目使用 Flask 和 Sqlalchemy,我得到 500 内部错误,错误日志显示整数输入语法无效(类别中名称列中的项目)。

我已将问题的根源缩小到以下几行,但目前无法解决问题。添加项目(DBSampleData.SampleItem)

def addItem(item):
    for i in item:
        items = Item(name=i[0], price=i[1], description=i[2],
                     category_ID=i[3], user_ID=i[4])
        session.add(items)
        session.commit

SampleItem 之一是:

    ('Maelstrom','2800',
     'A hammer forged for the gods themselves, '
     'Maelstrom allows its user to harness the '
     'power of lightning.',
     'Attack Speed',"guberland")

类别数据库设置部分是:

class User(Base):
    __tablename__ = 'user'
    ID = Column(Integer, primary_key=True)
    name = Column(String(250), nullable=False)

class Categories(Base):
    __tablename__ = 'categories'
    ID = Column(Integer, primary_key=True)
    name = Column(String(250), nullable=False)


class Item(Base):
    __tablename__ = 'item'
    ID = Column(Integer, primary_key=True)
    name = Column(String(250), nullable=False)
    description = Column(String(250))
    price = Column(String(8))
    category_ID = Column(Integer, ForeignKey('categories.ID'))
    category = relationship(Categories)
    user_ID = Column(Integer, ForeignKey('user.ID'))
    user = relationship(User)

来自 apache2 的错误日志部分是:

[2017 年 10 月 31 日周二 16:17:18.814754] [wsgi:error] [pid 1631:tid 140448423360256] [client 75.155.173.141:51827] psycopg2.Dataackt 的输入语法无效:无效输入语法

其中“攻击伤害”是 Categories.name 提前致谢!

针织衫

我不会相信它,然后我用 sqlite 创建了一个 MCVE,它没有引发错误。但它创建了一个无效的数据库,正如你在这里看到的

显然"Attack Speed"不是category_ID"guberland"不是user_ID您需要为现有对象提供 ID,或者,对于 CRUD 应用程序更好,为以下对象提供数据库对象relationship

db_item = Item(
    name=i[0], price=i[1], description=i[2], 
    category=Categories(name=i[3]), user=User(name=i[4]))

效果很好,还可以在usercategories表中创建适当的条目

注意:你必须调用commit()方法session

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当输入实际上是一个字符串时,“整数的输入语法无效”

来自分类Dev

SyntaxError:语法无效(<字符串>)

来自分类Dev

字符串到整数。无效的int

来自分类Dev

循环字符串输入无效

来自分类Dev

错误:整数:“”的输入语法无效

来自分类Dev

错误:整数:“”的输入语法无效

来自分类Dev

输入字符串,应为整数-C ++

来自分类Dev

Python格式化字符串无效语法

来自分类Dev

打印方法“无效语法”反转字符串

来自分类Dev

JsonException: 无效字符 '.' 在输入字符串中 (Unity)

来自分类Dev

从字符串yyyyMMddHHmmss到整数类型的转换无效

来自分类Dev

pq:整数的无效输入语法:“ $ 1”

来自分类Dev

SQLExceptionHelper整数的无效输入语法(PL / pgSQL)

来自分类Dev

DataError:(DataError)整数的无效输入语法:“ None”

来自分类Dev

从Java中的字符串打印无效输入

来自分类Dev

Self in Python语法错误:语法无效,字符串属性不存在?

来自分类Dev

用户输入Java中的字符串和整数

来自分类Dev

输入字符串而不是整数时创建Java异常

来自分类Dev

返回给定特定整数输入的字符串

来自分类Dev

接受字符串和整数输入的计算器

来自分类Dev

如何在C ++中输入整数后跟字符串?

来自分类Dev

使用Scanf()获取字符串和整数的输入

来自分类Dev

使用字符串作为输入C ++的整数乘法

来自分类Dev

如何将输入字符串转换为整数

来自分类Dev

文件输入包含字符串和整数

来自分类Dev

python字符串输入到整数转换

来自分类Dev

Python3x整数和字符串输入

来自分类Dev

数字格式输入字符串为整数的异常

来自分类Dev

字符串到整数输入验证转换

Related 相关文章

热门标签

归档