Базовый пример сохранения и извлечения отношений во Flask с помощью SQLAlchemy - PullRequest
2 голосов
/ 08 декабря 2010

Я пытаюсь склеить Flask и SQLAlchemy вместе, но без особой удачи. Я следую примеру с официальной страницы Flask.

Используя консоль, я могу создавать и извлекать отдельных пользователей и сообщения, но не могу делать такие вещи, как user.posts, чтобы получать сообщения пользователей.

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

1 Ответ

4 голосов
/ 08 декабря 2010

Чтобы получать сообщения пользователей, вам нужно установить отношения между Users и Posts:

class User:
    # ...
    posts = relationship(child='Post', backref='user')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...