3

こんにちは、いくつかの外部キーに問題があります。

私はこのようなものを持っています:

class Foo(db.Model):
    """The foo object."""
    __tablename__ = 'foos_foo'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.Text, unique=True)
    content = db.Column(db.Text)
    bar = db.relationship('Bar', backref='bars_bar')
    bar_id = db.Column(db.Integer, db.ForeignKey('bars_bar.id'))


class Bar(db.Model):
    """The bar object."""
    __tablename__ = 'bars_bar'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Text, unique=True)
    description = db.Column(db.Text)
    status = db.Column(db.SmallInteger, default=NEW)

私はこの構成スタイルを使用します: https://github.com/mitsuhiko/flask/wiki/Large-app-how-to

だから私はこのようなものを持っています:

from app.foos.views import mod as foosModule
from app.bars.views import mod as barsModule

app.register_blueprint(foosModule)
app.register_blueprint(barsModule)

Mitsuhiko の設定スタイルのように python shell.py を呼び出すと、次のエラーが発生します。

sqlalchemy.exc.OperationalError: (OperationalError) no such table: bars_bar u'SELECT bars_bar.id AS bars_bar_id, bars_bar.name AS bars_bar_name, bars_bar.description AS bars_bar_description, bars_bar.status AS bars_bar_status \nFROM bars_bar' ()

何が起こっているのですか?はい、作成するのでテーブルはありませんか? いくつかのテーブルを他のテーブルの前に作成する方法はありますか? または、何が間違っていますか?

御時間ありがとうございます!

4

1 に答える 1

5

Flask-SQLalchemy ドキュメントの引用:

最初のデータベースを作成するには、インタラクティブな Python シェルから db オブジェクトをインポートし、SQLAlchemy.create_all()メソッドを実行してテーブルとデータベースを作成します。

from yourapplication import db
db.create_all()
于 2013-07-06T19:43:50.417 に答える