django - raw sql - 注意点!

  • 现在的自己已经不怕mysql,已经熟悉了sql
  • “搜索优化专家有时候都无法顾全所有,更何况ORM”

 

  • 两种方法执行 sql原生语句
  • tablename.objects.raw() - 这样的语句,只能执行 select,只能执行 查询
  • 执行 update, insert 等操作
  • from django.db import connections, transaction
    cursor = connections['my_db_alias'].cursor()
    # Your code here...
    cursor.execute('update yourtable set id=2 where id=1')
    transaction.commit_unless_managed(using='my_db_alias')
    # 值得注意的是,最后一句一定要执行,否则事务会一直锁死

     

 

posted @ 2014-07-08 12:03  kv9  阅读(1121)  评论(0编辑  收藏  举报