ich würde gern eine kleine Website machen, auf der Leute Wetten abgeben können.
Doch seit gestern hänge ich an einem Problem mit SQLAlchemy fest.
Ich habe drei Tabellen:
Player
---
ID, Name
Game
---
ID, Name, Datum, Ergebnis
Player_Game
---
ID_Player, ID_Game, Vote
Ich bin neu im Umgang mit SQLAlchemy und hoffe hier habt ne Idee wie ich auf die "Votes" zugreifen kann.
Code: Alles auswählen
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://user:pass@192.168.1.24/wetten'
db = SQLAlchemy(app)
PlayerGame = db.Table('player_game', db.Model.metadata,
db.Column('player_id', db.Integer, db.ForeignKey('player.id')),
db.Column('game_id', db.Integer, db.ForeignKey('game.id')),
db.Column('vote', db.Integer),
)
class Player(db.Model):
__tablename__ = 'player'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), unique=True)
count_wins = db.Column(db.Integer)
def __init__(self, username):
self.username = username
class Game(db.Model):
__tablename__ = 'game'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64))
date = db.Column(db.String(32))
result = db.Column(db.Integer)
players = db.relationship('Player', secondary=PlayerGame)
def __init__(self, name, date):
self.name = name
self.date = date
gamelist = Game.query.all()
for g in gamelist:
print('----')
print(g.name)
for p in g.players:
print(p.username)
print(p.vote) # <-- AttributeError: 'Player' object has no attribute 'vote'