【问题标题】:Group queryset by month in Django在 Django 中按月分组查询集
【发布时间】:2014-10-24 10:06:45
【问题描述】:

我使用以下代码按月对查询集进行分组

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()吗?

【问题讨论】:

    标签: django django-models django-views django-queryset


    【解决方案1】:

    尝试从您的查询集中排除具有 date=None 的模型实例。

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

    date_trunc_sql() 方法中无法捕获错误——该方法被调用并在查询集被评估之前返回一个字符串。

    【讨论】:

      猜你喜欢
      • 2018-12-09
      • 2016-10-17
      • 1970-01-01
      • 2016-01-23
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多