Python ORM SQLAlchemy与Django的使用

0 投票
2 回答
808 浏览
提问于 2025-04-16 16:55

我正在开发一个基于Flex的仪表盘,现在在考虑用SQLAlchemy或者Django来和数据库进行交互。

我对这两个框架都不太熟悉。我知道Django可以通过syncdb命令来创建数据库,而SQLAlchemy则可以通过*metadata.create_all(engine)*语句来实现同样的功能。那么,我该如何使用这些框架来连接一个已经存在的数据库呢?

2 个回答

0

定义一个类来实现映射函数,比如:

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()
0

如果你在使用Django,可以看看这个链接:如何将Django与旧数据库结合。我自己没有用过SQLAlchemy,不过我想他们应该也有类似的功能。

撰写回答