[解決済み] テーブルのフィールドから異なる値を選択する
2022-05-13 11:27:41
質問
Django の ORM を理解するのに苦労しています。私がしたいことは、私のテーブルのフィールド内の明確な値のリストを取得することです...次のいずれかに相当します。
SELECT DISTINCT myfieldname FROM mytable
(またはその代わりに)
SELECT myfieldname FROM mytable GROUP BY myfieldname
少なくとも、生の SQL に頼る前に、Django の方法でやってみたいです。 例えば、テーブルを使って。
id, 通り, 市町村
1、メインストリート、ハル
2, アザーストリート、ハル
3, ビブルウェイ、レスター
4、レスター、アナザー・ウェイ
5、ハイ・ストリート、ロンディジウム
手に入れたい
<ブロッククオートハル、レスター、ロンディウム
どのように解決するのですか?
モデルが「ショップ」であるとします。
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
にキャストすることができます。
list
.
また
flat=True
に
values_list
に変更し、結果を平坦にします。
こちらもご覧ください。 Querysetのフィールドごとに異なる値を取得する
関連
-
Django。"makemigrations "時に変更が検出されない。
-
django のクエリセット操作
-
ImproperlyConfiguredです。DEFAULT_INDEX_TABLESPACE の設定を要求されましたが、設定されていません。
-
[解決済み】Djangoのvalues_listとvaluesの比較
-
[解決済み] [Solved] カスタムDjango manage.pyコマンドをテストドライバから直接呼び出すにはどうしたらいいですか?
-
[解決済み] [Djangoで「一括更新」する方法とは?
-
[解決済み] Django REST Framework: ModelSerializerに追加フィールドを追加する
-
[解決済み] Docker-Compose使用時にDjangoデータベースのマイグレーションをどのように行うか?
-
[解決済み] Djangoのvalues()の項目名を変更する方法は?
-
[解決済み] Django admin: データベースフィールドを持たないカスタム list_display フィールドの1つでソートする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
django request.data を修正する AttributeError: 属性を設定できない
-
django store to databaseは現地時間より8時間短い?(2021-05-12更新)
-
[解決済み] request.GETでURLパラメータを取得する
-
[解決済み] Django South - テーブルはすでに存在する
-
[解決済み] Django REST フレームワーク: 非モデルシリアライザー
-
[解決済み] Django で null を許容するユニークなフィールド
-
[解決済み] シグナルハンドラは django プロジェクトのどこにあるべきですか?
-
[解決済み] django のクラスベースのビューで permission_required デコレータを使用する方法
-
[解決済み] 学習に適したオープンソースのdjangoプロジェクト【非公開
-
[解決済み] Django の {% url %} テンプレートタグでクエリパラメータを渡すことは可能でしょうか?