[英]Python - TypeError: an integer is required
我正在嘗試創建一個數據庫來保持用戶和攀登者與用戶之間的一對多關系,以及用戶完成的攀爬。
class Climb(db.Model):
id = db.Column(db.Integer, primary_key=True)
date = db.Column(db.DateTime)
name = db.Column(db.String(64))
flash = db.Column(db.Boolean)
notes = db.Column(db.Text)
type_of_climb = db.Column(db.String(32))
difficulty = db.Column(db.String(5))
location = db.Column(db.String(64))
favorite = db.Column(db.Boolean)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
def __init__(self, climb_date, name, flash, notes, type_of_climb, difficulty, location, favorite, user_id):
set_date = datetime.strptime(climb_date, '%Y%m%d').date()
self.date = set_date
self.name = name
self.flash = flash
self.notes = notes
self.type_of_climb = type_of_climb
self.difficulty = difficulty
self.location = location
self.favorite = favorite
self.user_id = user_id
我試圖在PyCharm中使用Python控制台測試數據庫。 我已經成功創建了一個用戶並嘗試向數據庫添加爬升但是在使用以下命令集時不斷收到“TypeError:需要一個整數”:
>>> from flask import Flask
>>> from app import app, db
>>> db.create_all()
>>> from app import User, Climb
>>> c = Climb('2015-05-02', 'Climb so high', 1, 'Made it happen', 'Trad', '5.8', 'Nepal', 0, 1)
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "<string>", line 4, in __init__
File "/home/logan/Desktop/DEV/git/Climb-On/climb-on-api/flask/local/lib/python2.7/site-packages/sqlalchemy/orm/state.py", line 269, in _initialize_instance
return manager.original_init(*mixed[1:], **kwargs)
File "/home/logan/Desktop/DEV/git/Climb-On/climb-on-api/app.py", line 50, in __init__
self.flash = flash
TypeError: an integer is required
我對如何得到錯誤感到困惑(flash是傳遞的第三個參數,我的帳號1是一個整數)。
任何幫助深表感謝。
DBAlchemy可能需要DB中相應表的列不是正確的類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.