2

次のクエリセットがあります。

Article.objects.filter(finished=True, updated_at__range=[start, end]).extra(
    select={'hour': 'extract(hour from updated_at)'}).values('hour').annotate(categorized=Count('id'))

そして、私はエラーが発生します:

"ProgrammingError: 列参照 "updated_at" はあいまいです LINE 1: SELECT (extract(hour from updated_at)) AS "hour", COUNT("art..."

これについてどうすればよいですか?

編集:クエリセットは、日付「updated_at__range = [start、end]」でフィルタリングしなくても機能しますが、そのフィルターが必要です。

4

2 に答える 2

7

これは Django とは関係ありません。生の SQL (extract句) を挿入していますが、updated_at がその中から来ているテーブルを修飾できません。Article モデルが「myapp」というアプリにあると仮定すると、次のようになります。

select={'hour': 'extract(hour from myapp_article.updated_at)'})
于 2014-12-19T16:13:03.000 に答える