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

SQLAlchemy连接数据库并在django admin显示的更多相关文章

  1. Django admin 显示图片

    我有一个表用来储存轮播图片,有一个 `picture` 字段储存的是图片的url,图片的 url 通过上传文件到 cdn 获得.目前这个表的编辑是通过自定义一个 `ModelForm`,然后重写 Dj ...

  2. django admin显示多对多字段

    参考文档https://jingyan.baidu.com/article/4e5b3e190f55c591901e24b3.html admin.py from .models import *cl ...

  3. django admin显示多对多字段ManyToManyField

    参考文档https://jingyan.baidu.com/article/4e5b3e190f55c591901e24b3.html admin.py from .models import *cl ...

  4. Django Admin site 显示问题

    Django Admin site 显示问题 今天配置了一下Django admin site,可是admin site的显示有一些问题,当我打开源码.訪问里面的admin 的css 文件时候,htt ...

  5. Django Admin 图片路径设置显示为图片(imageField显示方法设置)

    一  使用环境 开发系统: windows IDE: pycharm 数据库: msyql,navicat 编程语言: python3.7  (Windows x86-64 executable in ...

  6. django admin编辑被外键关联的主表时支持显示字表记录

    假设有模型 class A(models.Model): name = models.CharField() class B(models.Model): name = models.CharFiel ...

  7. django admin.py settings 操作

    dango, 怎么说呢,什么东西都内置了,什么东西都是自己的东西.用过flask, cherrypy, web.py, pyramid 等等python 框架后,再选用dango 觉得,理念有很大的区 ...

  8. Django admin美化插件suit应用[原创]

    前言 由于比较懒,自己弄了一个用户验证,没有自己写后台,用了django自带的user认证,并通过admin直接进行管理,但默认的admin并不漂亮,于是使用了这个django-suit插件,效果对比 ...

  9. Django admin 权威指南(一)

    版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...

随机推荐

  1. python学习(一):环境安装及HelloWorld

    一.安装注意事项: 在安装python的第三方库时,(平台是win)要 注意所下载的包的版本,一要与所安装的python版本相对应,同时还有注意操作系统的位数(32位还是64位).下载好后,先将c:\ ...

  2. VC 三点 划 曲线

    y = ax2+bx+c 条件,三点成一曲线 pointone(x1,y1)//(y1在X柱上,必须为零,如果不为零这个公式要重新求值) pointtwo(x2,y2)// 可以为任意值 pointt ...

  3. android项目中如何加载已有so库 <转>

    1,在项目根目录下建立文件夹libs/armeabi文件夹 2,将so库放入 libs/armeabi文件夹 注意事项: 1,如果采用静态注册的方式请注意C文件中严格按照命名规则 Java_packa ...

  4. Android开发-API指南-Content Provider

    Content Providers 英文原文:http://developer.android.com/guide/topics/providers/content-providers.html 采集 ...

  5. 也谈LBP

    LBP(local banary patter)是一种非常经典的用来描述图像局部纹理特征的算子. 1,基本LBP LBP方法自1994年提出,此后就作为一个有效的纹理特征,不断的被人使用和改进.LBP ...

  6. MacOSX和Windows 8的完美融合

    MacOSX和Windows8的完美融合 一般情况下我们要在MACOS系统下运行Windows软件怎么办呢?一种方法我们可以装CrossOver这款软件,然后在configuration->in ...

  7. PHP获取今天、昨天、明天的日期

    <?php echo "今天:".date("Y-m-d")."<br>"; echo "昨天:".d ...

  8. import的用法

    转自python学习笔记--模块和命名空间 模块(module)是Python中非常重要的一个概念,模块其实就一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的 ...

  9. React模板

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. php+mysql简单留言,适合新手

    <html> <head> <title> php留言板 </title> <style> p,textarea{vertical-alig ...