用来表达更复杂的sql语句!!!!!extra 原声sql

extra

用来表达更复杂的sql语句!!!!!

extra可以指定一个或多个 参数,例如 selectwhere or tables这些参数都不是必须的,但是你至少要使用一个!要注意这些额外的方式对不同的数据库引擎可能存在移植性问题.(因为你在显式的书写SQL语句),除非万不得已,尽量避免这样做

queryResult=models.Article
           .objects.extra(select={'is_recent': "create_time > '2017-09-05'"})

in sqlite:
    article_obj=models.Article.objects
              .filter(nid=1)
              .extra(select={"standard_time":"strftime('%%Y-%%m-%%d',create_time)"}) #两个百分号是为了保留那个%s ,因为 先格式化
              .values("standard_time","nid","title") print(article_obj) # <QuerySet [{'title': 'MongoDb 入门教程', 'standard_time': '2017-09-03', 'nid': 1}]>


原生SQL
  

原生SQL
from django.db import connection, connections


cursor = connections['default1'].cursor()
cursor = connection.cursor()

cursor.execute("""SELECT * from auth_user where id = %s""", [1])
row = cursor.fetchone()

 

 



原文地址:https://www.cnblogs.com/niehaidong111/p/7975549.html