python django 原生sql 获取数据的例子
如下所示:
node2:/django/mysite/blog#catviews.py 1, #-*-coding:utf-8-*- from__future__importunicode_literals #fromdjango.shortcutsimportrender,render_to_response from.modelsimport* #Createyourviewshere. fromdjango.httpimportHttpResponse fromdjango.templateimportloader importMySQLdb defquery(): conn=MySQLdb.connect( host='localhost', port=3306, user='root', passwd='1234567', db='tlcb', ) cur=conn.cursor() a=cur.execute("selecttitle,body,DATE_FORMAT(timestamp,'%Y~%m~%d%k.%i.%s')Afromblog_blogpost") info=cur.fetchall() returninfo cur.close() conn.close() defarchive(req): print'aaaaaaaaaaaaaaaaaaaaaaaaaaa' printreq printtype(req) printreq.GET print'#############################' printreq.GET['aa'] printreq.GET['cc'] print'#############################' print'aaaaaaaaaaaaaaaaaaaaaaaaaaa' #getallblogpostobjects posts=query() printposts printtype(posts) #printblog_list template=loader.get_template('archive.html') context={ 'posts':posts } print'------------------------------------------' printHttpResponse(template.render(context,req)) print'------------------------------------------' returnHttpResponse(template.render(context,req)) node2:/django/mysite/blog# node2:/django/mysite/blog/templates#viarchive.html node2:/django/mysite/blog/templates# node2:/django/mysite/blog/templates# node2:/django/mysite/blog/templates# node2:/django/mysite/blog/templates#catarchive.html {%extends"base.html"%} {%blockcontent%} {%forpostinposts%}{{post.0}}
{{post.1|date:"1,FjS"}}
{{post.2}}
{%endfor%} {%endblock%} (('dd','ddd','2017~11~248.31.42'),('66666666','66666','2017~11~248.35.25'),('777777777','77777777777','2017~11~271.46.15'))在自定义model方法和模块级方法里,你可以自由的执行自定义SQL语句.对象django.db.connection表示当前的数据库连接.调用connection.cursor()得到一个游标对象.然后调用cursor.execute(sql,[params])``以执行SQL语句,使用``cursor.fetchone()或cursor.fetchall()得到结果集.下面是一个例子: defmy_custom_sql(self): fromdjango.dbimportconnection cursor=connection.cursor() cursor.execute("SELECTfooFROMbarWHEREbaz=%s",[self.baz]) row=cursor.fetchone() returnrow 如果你的SQL语句改变了数据库中的数据--比如你使用了DELETE或UPDATE语句.你需要调用connection.commit()来使你的修改生效. 例子: defmy_custom_sql2(self): fromdjango.dbimportconnection cursor=connection.cursor() cursor.execute("DELETEFROMbarWHEREbaz=%s",[self.baz]) connection.commit()
以上这篇pythondjango原生sql获取数据的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。