【发布时间】:2011-08-17 22:46:51
【问题描述】:
我正在开发一个基于 Flex 的仪表板,并且正在考虑使用 SQLAlchemy 或 Django 与数据库进行交互。
我对这两个框架都是新手。我知道 Django 可以使用 syncdb 命令创建数据库,而 SQLAlchemy 可以使用 *metadata.create_all(engine)* 语句来创建数据库。如何将这些框架与现有数据库一起使用?
【问题讨论】:
标签: python django sqlalchemy
我正在开发一个基于 Flex 的仪表板,并且正在考虑使用 SQLAlchemy 或 Django 与数据库进行交互。
我对这两个框架都是新手。我知道 Django 可以使用 syncdb 命令创建数据库,而 SQLAlchemy 可以使用 *metadata.create_all(engine)* 语句来创建数据库。如何将这些框架与现有数据库一起使用?
【问题讨论】:
标签: python django sqlalchemy
对于 Django,请查看 Integrating Django with a legacy database。我没有使用 SQLAlchemy 的经验,但我认为他们有类似的东西。
【讨论】:
为映射函数定义一个类 例如
engine = create_engine("mysql+mysqldb://root:@localhost/testdb",echo = True)
#testbd is ur database#use password->> "password"@localhost
metadata = MetaData(engine)
session = create_session()
person_table = Table('person', metadata,
Column('id', Integer, primary_key = True),
Column('name', String(40)),
Column('age', Integer),
Column('about', String(100))
)
metadata.create_all(engine)
class Person(object):
def __init__(self,name,age,about):
self.name = name
self.age = age
self.about = about
def __repr__(self):
return self.name, self.age, self.about
mapper(Person, person_table)
#for insert do the below
a_person = Person('Name','Age','About')
session.add(a_person)
session.flush()
【讨论】: