Python 如何使用flask-sqlalchemy.exc.ProgrammingError将数据插入postgresql数据库?

Python 如何使用flask-sqlalchemy.exc.ProgrammingError将数据插入postgresql数据库?,python,postgresql,sqlalchemy,Python,Postgresql,Sqlalchemy,我想用flask将数据插入postgresql数据库 这是我编写的一个模型类代码 class Bet365(db.Model): __tablename__ = "bet365s" id = db.Column(db.Integer, primary_key=True) sports = db.Column(db.Float) casino = db.Column(db.Float) poker = db.Column(db.Float) game

我想用flask将数据插入postgresql数据库

这是我编写的一个模型类代码

class Bet365(db.Model):
    __tablename__ = "bet365s"
    id = db.Column(db.Integer, primary_key=True)
    sports = db.Column(db.Float)
    casino = db.Column(db.Float)
    poker = db.Column(db.Float)
    games_bingo = db.Column(db.Float)
    total = db.Column(db.Float)
    withdrawal = db.Column(db.Float)
    balance = db.Column(db.Float)

    def __init__(self, sports, casino, poker, games_bingo, total, withdrawal, balance):
        self.id = id
        self.sports = sports
        self.casino = casino
        self.poker = poker
        self.games_bingo = games_bingo
        self.total = total
        self.withdrawal = withdrawal
        self.balance = balance
这是负责插入数据的代码段

@app.route('/testing/')
def testing():
    data_bet365 = bet365_scrapping()

    sports = float(data_bet365[0])
    casino = float(data_bet365[1])
    poker = float(data_bet365[2])
    games_bingo = float(data_bet365[3])
    total = float(data_bet365[4])
    withdrawal = float(data_bet365[5])
    balance = float(data_bet365[6])

    result_bet365 = Bet365(sports, casino, poker, games_bingo, total, withdrawal, balance)
    db.session.add(result_bet365)
    db.session.commit()
    return (jsonify(data_bet365))
当我运行这个脚本时,我得到一个类似这样的错误

sqlalchemy.exc.ProgrammingError

sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) can't adapt type 'builtin_function_or_method'
[SQL: 'INSERT INTO bet365s (id, sports, casino, poker, games_bingo, total, withdrawal, balance) VALUES (%(id)s, %(sports)s, %(casino)s, %(poker)s, %(games_bingo)s, %(total)s, %(withdrawal)s, %(balance)s)']
[parameters: {'withdrawal': 0.0, 'id': <built-in function id>, 'sports': -29.94, 'total': 593.75, 'casino': 464.22, 'poker': 14.29, 'games_bingo': 145.17, 'balance': 593.75}]
sqlalchemy.exc.ProgrammingError
sqlalchemy.exc.ProgrammingError:(psycopg2.ProgrammingError)无法适应类型“内置函数”或“方法”
[SQL:'插入bet365s(id、体育、赌场、扑克、游戏、宾果、总计、取款、余额)值(%(id)s、%(体育)、(%(赌场)s、%(扑克)、(%(游戏、宾果)、(%(总计)、(%(取款)s、%(余额)')]
[参数:{'drawing':0.0,'id':,'sports':-29.94,'total':593.75,'casino':464.22,'poker':14.29,'games_bingo':145.17,'balance':593.75}]

我找不到解决办法。请帮助我。

问题似乎出在您的列类型上。您正在尝试将浮点插入整数列。

我不会将
id
用作类属性名称。您正在将
id
全局函数分配给初始值设定项中的
self.id
,这是回溯的原因

谢谢你的回复。请再看一看。我已经更新了我的问题。很抱歉打扰您。啊,看起来您试图在ID列中插入空值。这应该是一个自动生成的字段。