【问题标题】:Flask SQLAlchemy: Attribute Error: 'function' object has no attribute 'translate'Flask SQLAlchemy:属性错误:“函数”对象没有属性“翻译”
【发布时间】:2018-10-30 00:39:59
【问题描述】:

我正在尝试使用 Flask Restful 将一些值插入到我的数据库中。我正在使用 PyMysql 和 Flask SQlAlchemy 进行数据库连接,但是当我插入时,我得到了

AttributeError: 'function' object has no attribute 'translate'

当我这样做时

db.session.add(self)
db.session.commit()

错误

File "/home/yung/Documents/Projects/Crowlabs/Projects/churchify/venv/lib/python2.7/site-packages/pymysql/converters.py", line 73, in _escape_unicode

def _escape_unicode(value, mapping=None):
    """escapes *value* without adding quote.

    Value should be unicode
    """
    return value.translate(_escape_table)

    if PY2:
        def escape_string(value, mapping=None):
            """escape_string escapes *value* but not surround it with quotes.

我的代码

from db import db

class Test(db.Model):
    __tablename__       = "auth_test"

    id                  = db.Column(db.Integer, primary_key=True)
    username            = db.Column(db.Text)
    password            = db.Column(db.Text)
    email               = db.Column(db.Text)
    type                = db.Column(db.Text)

    def __init__(self, username, password, email, type_):
        self.username       = username
        self.password       = password
        self.email          = email
        self.type           = type_

        db.session.add(self)
        db.session.commit()

这仅在我尝试插入数据库时​​出现,但在检索时效果很好

【问题讨论】:

  • 对 Python 不是很熟悉,但找到了另一个可能为您指明正确方向的答案 - stackoverflow.com/a/36931430/499528
  • 你的代码有什么价值?向我们展示您使用 escape_unicode 函数的代码
  • escape_unicode函数来自pymysql

标签: python flask flask-sqlalchemy flask-restful pymysql


【解决方案1】:

所以我终于明白了。当我使用整数时,Pymysql 期望我的一个值有一个字符串值,所以我所做的就是使用将这些值转换为字符串

str()

成功了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2022-11-06
    • 2020-04-01
    • 2020-07-08
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多