タグ

ブックマーク / yuki-next.hatenablog.com (1)

  • SQLObjectでSELECT DISTINCT columnA FROM tableB - とりあえず日記

    TurboGearsでデフォルトで使われている、O/RマッパーであるSQLObjectで、 表題のような、特定の列の値の一覧を取得する方法です。 直接SQL文を発行する、という手もあると思うのですが、distinctには対応していないように見受けられました。 ので、下記のようにしてみました。パフォーマンスは度外視です。 例では、tableBに対応するモデルクラスを tableBclsとしています。 set([tableBtmp.columA for tableBtmp in tableBcls.select()]) これを、たとえば 単一選択のコンポーネントであるSingleSelectFieldに突っ込む場合はこのようになります。 例では、値の順で昇順ソートしています。 SingleSelectField(name="tableB", label=u"tableBのcolumnA", o

    SQLObjectでSELECT DISTINCT columnA FROM tableB - とりあえず日記
  • 1