Django Raw SQL给我TypeError不够的参数

Bey*_*ond 4 sql django

码:

 diary=models.SablogArticles.objects.raw("SELECT articleid,DATE_FORMAT(from_unixtime(dateline),'%Y-%m')\
 as newtime,count(*) as howmany   FROM sablog_articles group by newtime")
Run Code Online (Sandbox Code Playgroud)

结果给了我:

在模板d:\ python\project\tpl\base.html中,第68行的错误在渲染时捕获TypeError:格式字符串没有足够的参数

Ned*_*der 15

原始SQL是带有格式参数的字符串,这意味着%表示要格式化的参数.你的字符串中有%.你需要加倍它们以保护它们免于解释:

diary = models.SablogArticles.objects.raw("""
    SELECT 
        articleid, 
        DATE_FORMAT(from_unixtime(dateline),'%%Y-%%m') as newtime,
        count(*) as howmany
    FROM sablog_articles group by newtime
    """)
Run Code Online (Sandbox Code Playgroud)