【问题标题】:DatabaseError: ambiguous column name on annotation filteringDatabaseError:注释过滤中的列名不明确
【发布时间】:2015-02-16 11:37:10
【问题描述】:

我正在尝试过滤注释查询。它给了我ambiguous column name date_created:

    truncate_date = connection.ops.date_trunc_sql('month', 'date_created')
    qs = Order.objects.extra({'month':truncate_date})
    report = qs.filter(is_active=True, listing__device=device) \
    .values('month').annotate(Avg('amount_total')).order_by('-month')[:5]

当我取出listing__device=device 部分时,过滤工作正常。我正在使用Sqlite3

【问题讨论】:

    标签: django sqlite django-orm


    【解决方案1】:

    我必须指定表名:

     truncate_date = connection.ops.date_trunc_sql('month', 'table_name.date_created')
    

    【讨论】:

      猜你喜欢
      • 2021-11-20
      • 2016-04-28
      • 1970-01-01
      • 1970-01-01
      • 2021-03-10
      • 1970-01-01
      • 2021-10-18
      • 2019-08-17
      • 1970-01-01
      相关资源
      最近更新 更多