2010-07-28 9 views
1

我一直在阅读http://pylonsbook.com/en/1.1/starting-the-simplesite-tutorial.html以及他们的SimpleSite教程,但在创建模型时遇到了一些问题。主塔1.0和SQLAlchemy 0.6 - 我如何建模?

他们在教程中使用的型号进口:

"""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' 

我猜在升级版本期间Pylons改变了方式...

那么我该怎么做?有人可以将我链接到关于制作模型和处理数据库连接/查询的更新教程吗? :/

+0

更新的参考,你可以用'目录(元)'内省模块 - 这可能是元数据略微更名 – 2010-07-28 15:39:27

回答

1

我认为你应该使用Base.metadata而不是meta.metadata的Pylons 1.0。

1

它应该是这样的:

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), 
) 
3

塔1.0使用的声明基本为默认模型。

为例:

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/