SQLAlchemy 0.7     postgersql  9.0

SQLAlchemy连接数据库有两种方法,一种是classic,一种是modern

1,modern方法

 from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy import Sequence #绑定数据库
engine = create_engine('postgres://postgres:1@localhost/fy', echo=False)
Base = declarative_base() class User(Base):
__tablename__ = 'users'
id = Column(Integer, Sequence('user_id_seq'), primary_key=True)
name = Column(String)
fullname = Column(String)
password = Column(String) def __init__(self, name, fullname, password):
self.name = name
self.fullname = fullname
self.password = password def __repr__(self):
return "<User('%s','%s', '%s')>" % (self.name, self.fullname, self.password) Base.metadata.create_all(engine) #session会话
Session = sessionmaker(bind=engine)
Session = sessionmaker()
Session.configure(bind=engine)
session = Session() user_name = raw_input('name >')
user_fullname = raw_input('fullname >')
user_password = raw_input('password >') ed_user = User(user_name, user_fullname, user_password)
session.add(ed_user) #提交
session.commit()
session.close()

2. classic方法 也可以用session方法增加数据

 from sqlalchemy import Table, MetaData, Column, Integer, String
from sqlalchemy.orm import mapper
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy import Sequence engine = create_engine('postgres://postgres:1@localhost/fy', echo=False)
metadata = MetaData() user = Table('users', metadata,
Column('id', Integer, Sequence('user_id_seq'), primary_key=True),
Column('name', String(50)),
Column('fullname', String(50)),
Column('password', String(12))
) metadata.create_all(engine, checkfirst=True)
conn = engine.connect() class User(object):
def __init__(self, name, fullname, password):
self.name = name
self.fullname = fullname
self.password = password mapper(User, user) user_name = raw_input('name >')
user_fullname = raw_input('fullname >')
user_password = raw_input('password >') ed_user = user.insert(values=dict(name=user_name,fullname=user_fullname,password=user_password))
conn.execute(ed_user)
conn.close()

在django admin显示:

先创建一个app,然后按照django的教程弄出django管理(表名不是这个例子的)

只要SQLAlchemy创建的表和model.py的表名一样,就可以显示出来了。

model.py

 from django.db import models

 class User(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=20)
fullname = models.CharField(max_length=20)
password = models.CharField(max_length=20) def __unicode__(self):
return self.name

参考资料:

http://wangye.org/blog/archives/date/2012/10

http://www.cnblogs.com/fangyu19900812/admin/EditPosts.aspx?opt=1    (这个要慢慢找)

http://docs.sqlalchemy.org/en/rel_0_7/     官方文档

http://www.blogjava.net/sean/archive/2009/01/26/252597.html

最新文章

  1. ORA-00600 3020 ORA-10567案例
  2. Spring MVC过滤器-委派过滤器代理(DelegatingFilterProxy)
  3. JS常用语句
  4. 关于Thread.IsBackground属性的理解(转载)
  5. jquery实现ajax,返回json数据
  6. 详细分析Orchard的Content、Drivers, Shapes and Placement 类型
  7. 如何排版 微信公众号「代码块」之 MarkEditor
  8. 国外大师给PHP初学者的8条建议
  9. 使用moment.js轻松管理日期和时间
  10. codeforces #447 894A QAQ 894B Ralph And His Magic Field 894C Marco and GCD Sequence
  11. 学习ELk之----02. Elastic Search操作入门
  12. 【Java面试题】19 final,finally和finalize的区别
  13. maven 项目连接mysql8.0版本时的注意事项
  14. ES搜索引擎基本操作
  15. web设计工具
  16. js两个数组对象通过相同元素匹配筛选
  17. JavaScript中对数据库表中某一个字段进行赋值
  18. [Pytorch]Pytorch 细节记录(转)
  19. list的4种遍历方式
  20. MDI多文档窗体--在一个窗体中装载多个窗体

热门文章

  1. The Ninth Hunan Collegiate Programming Contest (2013) Problem F
  2. JAVA的JDBC连接与sql操作
  3. 一步一步学习Unity3d学习笔记系1.1
  4. Apache FtpServer扩展【动手实现自己的业务】
  5. 慕课网-安卓工程师初养成-4-8 Java循环语句之 do...while
  6. sqool导出oracle数据
  7. 正宗PC Unix实验环境
  8. Sass基础语法
  9. 2016.04.09 使用Powerdesigner进行创建数据库的概念模型并转为物理模型
  10. DOM 中 Property 和 Attribute 的区别