2010-12-08 24 views
2

J'essaye de coller Flask et SQLAlchemy ensemble mais avec peu de chance. Je suis l'exemple de la page officielle de Flask.Exemple de base d'enregistrement et de récupération d'une relation dans Flask avec SQLAlchemy

En utilisant la console, je peux créer & récupérer des utilisateurs individuels et des messages, mais ne peut pas faire des choses comme user.posts pour obtenir les messages des utilisateurs.

from flask import Flask 
from flaskext.sqlalchemy import SQLAlchemy 
app = Flask(__name__) 
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@localhost/dbname' 
db = SQLAlchemy(app) 

class User(db.Model): 
    __tablename__ = 'users' 
    id = db.Column(db.Integer, primary_key=True) 
    username = db.Column(db.String(80), unique=True) 

    def __init__(self, username): 
     self.username = username 

class Post(db.Model): 
    __tablename__ = 'posts' 
    id = db.Column(db.Integer, primary_key=True) 
    name = db.Column(db.String(80)) 
    user_id = db.Column('user_id', db.Integer, db.ForeignKey('users.id')) 

    def __init__(self, user_id, name): 
     self.user_id = user_id 
     self.name = name 

Répondre

4

Pour obtenir les messages des utilisateurs, vous devez set up a relationship entre Users et Posts:

class User: 
    # ... 
    posts = relationship(child='Post', backref='user')