from flask import Flask
import requests
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
db = SQLAlchemy(app)
migrate = Migrate(app, db)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@localhost/localDB'
class MainResult(db.Model):
__tablename__ = "mainresult"
metadata_key = db.Column(db.String(128), primary_key=True)
individualResults = db.relationship('IndividualResult', backref='mainresult', lazy='dynamic',
cascade="all, delete-orphan")
def __init__(self, metadata_key):
self.metadata_key = metadata_key
class IndividualResult(db.Model):
__tablename__ = "individualresult"
metadata_key = db.Column(db.String(128), db.ForeignKey('mainresult.metadata_key'), primary_key=True)
ts = db.Column(db.String(50), primary_key=True)
def __init__(self, metadata_key, ts):
self.metadata_key = metadata_key
self.ts = ts
@app.route('/')
def hello_world():
# This throws an error.
print IndividualResult.query.get("03d49625b00643058a40eb8672e94f4e")
# Error too
IndividualResult.query.filter_by(metadata_key='03d49625b00643058a40eb8672e94f4e').first()
# This works.
print MainResult.query.get("03d49625b00643058a40eb8672e94f4e")
return 'Hello World!'
if __name__ == '__main__':
app.run(debug=True)
データが正しく挿入されている上記のコードがあります。 MainResult.queryを使用してクエリを実行することはできますが、IndividualResult.queryを使用することはできません。Flask SQL Alchemyを使用したクエリの属性エラー
返されたエラーがあり、
はAttributeError:「InstrumentedAttribute」オブジェクトもIndividualResult.queryに関連付けられた「比較」オブジェクトはいずれも、属性が
「を取得」している、彼らは両方ともほぼあるように、それはかなり独特です同じ
のフルスタックトレース:あなたは私を与える必要があるget
使用
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 2000, in __call__
return self.wsgi_app(environ, start_response)
File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1991, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1567, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1988, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1641, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1544, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1639, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1625, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Users/Park/PycharmProjects/Flask_24Aug/Main_Flask.py", line 170, in hello_world()
print IndividualResult.query.get("03d49625b00643058a40eb8672e94f4e","1470860955")
File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/attributes.py", line 193, in __getattr__
key)
AttributeError: Neither 'InstrumentedAttribute' object nor 'Comparator' object associated with IndividualResult.query has an attribute 'get'
あなたは完全なエラーメッセージを投稿することができますか? – Anonymous
@jphollowed、私はそれを追加しました –