0
RESTful Webサービス用のマイクロサービスを作成しようとしています。 私はデータベースをPostgresqlで作成し、現在はFlaskとpsycopg2(dbオブジェクトからjsonオブジェクトへの変換用)を使用しています。 以下は私のコードの一部ですが、何らかの理由でエラーが発生しています。私が確立しようとしているURIは、これと少し似ていますlocalhost/events/20171222
これを処理するにはどうすればよいでしょうか?Pythonを使用してFlaskでエンドポイントを作成中に発生する
コード:
app = Flask(__name__)
conn = psycopg2.connect("dbname='postgresdb'")
cur = conn.cursor(cursor_factory=RealDictCursor)
@app.route('/events/<dated>', methods=['GET'])
def getDatedEvents(dated):
date_obj = datetime.strptime(dated, '%Y%m%d')
#print(type(date_obj))
#print(date_obj)
cur.execute("""
SELECT event_id, timestamp
FROM event_tbl
WHERE timestamp < date_obj
ORDER BY timestamp
LIMIT 25
""")
return json.dumps(cur.fetchall(), default=json_serial)
エラー出力:
psycopg2.ProgrammingError: column "date_obj" does not exist
LINE 4: WHERE timestamp < date_obj
^
localhost - - [22/Dec/2017 17:22:29] "GET /events/20161020 HTTP/1.1" 500 -
ありがとうございました:) @py_dude –
@ GabbarSinghあなたが役に立った場合、この回答を正しいとマークすることができます:) –
あなたのコードにSQL注入脆弱性を作成する方法です。クエリパラメータを使用します。https://stackoverflow.com/questions/1466741/parameterized-queries-with-psycopg2-python-db-api-and-postgresql – leovp