flask-sqlalchemy-postgres db insert failed

时间:2017-05-28 20:15:58

标签: postgresql flask-sqlalchemy

我正在使用带有SQLAlchemy和PostGresDB的Flask并在插入时出现此错误;

sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) can't adapt type 'dict' 
[SQL: 'SELECT results.id AS results_id,......]

models.py如下(只是ORM)

class Result(db.Model):
    __tablename__ = 'results'

id = db.Column(db.Integer, primary_key=True)
url = db.Column(db.String())
cities = db.Column(JSON)
states = db.Column(JSON)

插入部分的app.py是;

import os
from flask import Flask, render_template, request, jsonify
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config.from_object(os.environ['APP_SETTINGS'])
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)

frequency_cities = Counter(city_pop) # dict object 
frequency_states = Counter(state_pop) # dict object

try:
    from models import Result
    result = Result(
        url= url,
        cities=frequency_cities, 
        states=frequency_states 
    )
    db.session.add(result)
    db.session.commit()
    return result.id
except:
    errors.append("Unable to add item to database.")
    return {"error": errors}

我不知所措。

0 个答案:

没有答案