我一直试图使这一行代码正常工作,但是由于某些原因,即使我插入了绝对路径,也无法识别site.db
中的表。我检查了数据库,表在那里。
我尝试使用绝对路径,并且尝试更改db.Model,但是并不能解决问题。大写和拼写也可能不是问题。
routes.py
@clubs.route('/edit_clubs/<int:user_id>/<int:club_id>', methods=['GET', 'POST'])
@login_required
def user_clubs_edit(user_id, club_id):
user = User.query.get_or_404(user_id)
clubs = user.clubs
id=str(club_id)
# create cursor
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
db_path = os.path.join(BASE_DIR, "site.db")
with sqlite3.connect(db_path) as db:
cur = db.cursor()
# get club by id
cur.execute("SELECT * FROM club WHERE id= ?", id)
club = cur.fetchone()
cur.close()
models.py
class Club(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), unique=True, nullable=False)
members = db.relationship('User', secondary=user_club_assoc_table)
contacts = db.Column(db.Text)
minutes = db.relationship('Minutes', backref='club')
def __repr__(self):
return f'{self.name}'#Club(name={self.name!r})
我想从表中获取具有给定ID的club
。