2014-08-30 81 views
0

我一個分組通過查詢集個月,下面的代碼組查詢集按月在Django

Model.objects.extra(select={'month': connection.ops.date_trunc_sql('month', 'date')}).values('month') 

它工作正常,但是,當表的物件,場dateNone它導致OperationalError有消息user-defined function raised exception

這個錯誤處理不應該在django方法date_trunc_sql()

回答

0

嘗試從queryset中排除帶有date = None的模型實例。

Model.objects.exclude(date__isnull=True).extra(select={'month': connection.ops.date_trunc_sql('month', 'date')}).values('month') 

錯誤不能被捕獲在date_trunc_sql()方法 - 該方法被稱爲返回查詢集之前的字符串進行評價。