Pylons 1.0 и SQLAlchemy 0.6 - как мне моделировать? - PullRequest
1 голос
/ 28 июля 2010

Я читал http://pylonsbook.com/en/1.1/starting-the-simplesite-tutorial.html и следовал их учебному пособию по SimpleSite, но у меня возникли некоторые проблемы с созданием модели.

Импорт моделей, который они используют в учебном пособии:

"""The application's model objects"""
import sqlalchemy as sa
from sqlalchemy import orm

from simplesite.model import meta

# Add these two imports:
import datetime
from sqlalchemy import schema, types

Затем они используют это для создания таблицы:

page_table = schema.Table('page', meta.metadata,

Хотя, когда я пытаюсь это сделать, я получаю:

AttributeError: 'module' object has no attribute 'metadata'

Я предполагаю, что пилоны изменили своиспособы при обновлении версии ...

Так как мне это сделать?Может ли кто-нибудь связать меня с обновленным руководством по созданию модели и обработке соединений / запросов к базе данных?: /

Ответы [ 3 ]

3 голосов
/ 29 июля 2010

Пилоны 1.0 используют декларативную базу по умолчанию для модели.

Exemple:

from sqlalchemy import Column
from sqlalchemy.types import Integer, Unicode,
from MYPROJECT.model.meta import Base

class User(Base):
    __tablename__ = 'user'

    id = Column(Integer, primary_key=True)
    username = Column(Unicode(100))

Вы можете увидеть обновленную ссылку в http://pylonshq.com/docs/en/1.0/models/

1 голос
/ 29 июля 2010

Это должно быть примерно так:

from blog.model.meta import Session, Base

article_table = sa.Table("article", Base.metadata,
    sa.Column("id", sa.types.Integer, primary_key=True),
    sa.Column("lang", sa.types.String(255), nullable=False),
)
1 голос
/ 28 июля 2010

Я думаю, вы должны использовать Base.metadata вместо meta.metadata для Pylons 1.0.

...