2014-02-10 95 views
0

你好傢伙,我已經看到了這點讓我感到doubted..The代碼陣列功能

from sqlalchemy import * 

db = create_engine('sqlite:///tutorial.db') 


metadata = BoundMetaData(db) 

users = Table('users', metadata, 

Column('user_id', Integer, primary_key=True), 
Column('name', String(40)), 

Column('age', Integer), 

Column('password', String), 
) 



users.create() 

i = users.insert() 

i.execute(name='Mary', age=30, password='secret') 

i.execute({'name': 'John', 'age': 42}, 

{'name': 'Susan', 'age': 57}, 

{'name': 'Carl', 'age': 33}) 

s = users.select() 
rs = s.execute() 

row = rs.fetchone() 

print 'Id:', row[0] 

print 'Name:', row['name'] 

print 'Age:', row.age 

print 'Password:', row[users.c.password] 

在這裏,我知道打印「ID:」代碼row[0]打印從外地行的第一個值和row['name']打印行中的名稱值,並從row.age打印行的年齡值。但在密碼的情況下,您可以看到該條件不是上面給出的row[users.c.password]

我只需要知道使用c。是在這裏ç看到的varibaleÇdecalired。就是它的代碼或若有所失類..我havnt的對象成員..

對不起久問題。任何幫助將不勝感激。提前感謝

回答

1

.c是一個命名空間的Column對象鏈接到父母可選。任何Table有一個如做Select對象和這樣的:

from sqlalchemy import Table, Column, MetaData, Integer 

m = MetaData() 
t = Table('t', m, Column('x', Integer)) 
print(t.c.x) 

也好像你正在閱讀一些非常古老的教程,我建議不要。 sqlalchemy core tutorial是獲取最準確信息的最佳方式。

存在使用.c的示例:http://docs.sqlalchemy.org/en/rel_0_9/core/metadata.html#accessing-tables-and-columns