DatabaseError:注释过滤中的列名不明确
Posted
技术标签:
【中文标题】DatabaseError:注释过滤中的列名不明确【英文标题】:DatabaseError: ambiguous column name on annotation filtering 【发布时间】: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
。
【问题讨论】:
【参考方案1】:我必须指定表名:
truncate_date = connection.ops.date_trunc_sql('month', 'table_name.date_created')
【讨论】:
以上是关于DatabaseError:注释过滤中的列名不明确的主要内容,如果未能解决你的问题,请参考以下文章
如何在不包含新列名和类型的情况下更改现有 Hive 表中的列注释?