[英]Problem with inserting with sqlalchemy and DATE format
我的代碼用 func "vk.profile_stats" 給了我這個錯誤:
(pymysql.err.OperationalError) (2006, "MySQL server has gone away (BrokenPipeError(32, 'Broken pipe'))")
[SQL: SELECT vk_profile.id AS vk_profile_id, vk_profile.friends AS vk_profile_friends, vk_profile.followers AS vk_profile_followers, vk_profile.audios AS vk_profile_audios, vk_profile.gifts AS vk_profile_gifts, vk_profile.date AS vk_profile_date
FROM vk_profile
WHERE vk_profile.date = %(date_1)s
LIMIT %(param_1)s]
[parameters: {'date_1': datetime.date(2019, 11, 27), 'param_1': 1}]
(Background on this error at: http://sqlalche.me/e/e3q8)
我確信函數的輸入是完全正確的。 該功能:
def profile_stats():
profile = vk.users.get(fields='counters')[0]['counters']
stats.vk.write_profile(profile['friends'], profile['followers'], profile['audios'], profile['gifts'])
函數“stats.vk.write_profile”:
def write_profile(friends, followers, audios, gifts):
session = Session()
profile = session.query(Vk_profile).filter(Vk_profile.date == date.today()).first()
if profile:
profile.friends = friends
profile.followers = followers
profile.audios = audios
profile.gifts = gifts
else:
profile = Vk_profile(friends, followers, audios, gifts)
session.add(profile)
session.commit()
session.close()
模型:
class Vk_profile(Base):
__tablename__ = 'vk_profile'
id = db.Column(db.Integer, primary_key=True)
friends = db.Column(db.Integer)
followers = db.Column(db.Integer)
audios = db.Column(db.Integer)
gifts = db.Column(db.Integer)
date = db.Column(db.Date)
def __init__(self, friends, followers, audios, gifts):
self.friends = friends
self.followers = followers
self.audios = audios
self.gifts = gifts
self.date = date.today()
你創建了你的數據庫嗎? db.create_all()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.