Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2225617
  • 博文数量: 287
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2130
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-31 14:30
个人简介

自己慢慢积累。

文章分类

全部博文(287)

分类: Python/Ruby

2016-10-11 14:08:16

1.setting 文件配置

点击(此处)折叠或打开

  1. DATABASES = {
  2.     'default': {
  3. # 'ENGINE': 'django.db.backends.sqlite3',
  4. # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
  5.         'ENGINE': 'django.db.backends.mysql',
  6.         'NAME': 'zjx',
  7.         'USER': 'root',
  8.         'PASSWORD': '123456',
  9.         'HOST': '127.0.0.1',
  10.         'PORT': '3306',
  11.     }
  12. }
2.命令执行:
django.db.connection:代表默认的连接 
django.db.transaction :代表默认数据库事务(transaction) 
用database connection调用 connection.cursor() 得到一个游标(cursor)对象。 
然后调用 cursor.execute(sql, [params]) 执行SQL 
cursor.fetchone() 或者 cursor.fetchall(): 返回结果行

如果执行修改操作,则调用 transaction.commit_unless_managed()来保证你的更改提交到数据库。
例子:

点击(此处)折叠或打开

  1. def my_custom_sql():
  2.     from django.db import connection, transaction
  3.     cursor = connection.cursor()

  4.     # 数据修改操作——提交要求
  5.     cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz])
  6.     transaction.commit_unless_managed()

  7.     # 数据检索操作,不需要提交
  8.     cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz])
  9.     row = cursor.fetchone()
  10.     cursor.close() 

  11.     return row


阅读(846) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~