モデルが「ショップ」だとしましょう
class Shop(models.Model):
street = models.CharField(max_length=150)
city = models.CharField(max_length=150)
# some of your models may have explicit ordering
class Meta:
ordering = ('city')
あなたが持っているかもしれないのでMeta
、クラスのordering
属性セットを、あなたは使用することができますorder_by()
使用しているときの順序をクリアするには、パラメータなしdistinct()
。()のドキュメントを参照してくださいorder_by
クエリに順序付けを適用したくない場合、デフォルトの順序付けも含めない場合は、パラメーターなしでorder_by()を呼び出します。
またdistinct()
、distinct()
注文での使用に関する問題について説明しているメモにも記載されています。
DBをクエリするには、次を呼び出すだけです。
models.Shop.objects.order_by().values('city').distinct()
辞書を返します
または
models.Shop.objects.order_by().values_list('city').distinct()
これValuesListQuerySet
はにキャストできるa を返しますlist
。を追加flat=True
しvalues_list
て結果を平坦化することもできます。
参照:クエリセットの個別の値をフィールドで取得する