0
私は200,000以上のjsonファイルを含むフォルダを持っています。各jsonオブジェクトはTweet(twitter)です。Sqlalchemy - '_sa_instance_state'の修正方法
#sqlalchemy_insert.py
def create_new_tweet(data, new_user):
"""
insert new tweet into db
"""
#tweet
tweet_id = data.get('id')
language = data.get('lang', 'en')
tweet_text = data.get('text')
in_reply_to_user = data.get('in_reply_to_user_id')
coord = check_if_it_s_null(data.get('coordinates'))
geo_location = check_if_it_s_null(data.get('geo'))
created_at = parse(data.get('created_at'))
try:
new_tweet = Tweet(id=tweet_id, tweet=tweet_text,
lang=language,created_at=created_at,
geo=geo_location, coordinates=coord,
user=new_user)
session.add(new_tweet)
except:
import ipdb; ipdb.set_trace()
session.commit()
return new_tweet
私はデバッグができるようにtry
を追加session.add(new_tweet)
ipdb> session.add(new_tweet)
*** AttributeError: 'Query' object has no attribute '_sa_instance_state'
この行にエラーを取得していデシベルにつぶやきを節約しながら、私はエラーを取得していないが、私は何を持っていますこのdbにこのツイートを挿入する手掛かりこの問題は、ユーザーが
new_user = session.query(User).filter(User.id == user_id) # it's a query
を存在しますが、あなたはcreate_new_tweet
にUser
オブジェクトを渡す必要がある場合153thつぶやきに