Django では、次の 2 つの違いは何ですか?
Article.objects.values_list('comment_id', flat=True).distinct()
対:
Article.objects.values('comment_id').distinct()
私の目標は、それぞれの下に一意のコメント ID のリストを取得することですArticle
。ドキュメントを読みました (実際、両方のアプローチを使用しました)。結果は明らかに似ているようです。
ベストアンサー1
のvalues()
メソッドは辞書を含む QuerySet を返します。
<QuerySet [{'comment_id': 1}, {'comment_id': 2}]>
のvalues_list()
メソッドはタプルを含む QuerySet を返します。
<QuerySet [(1,), (2,)]>
単一のフィールドで を使用している場合は、 1 タプルではなく単一の値の QuerySet を返すために をvalues_list()
使用できます。flat=True
<QuerySet [1, 2]>