0

ここに興味深い問題があります。評価順にリストするユーザーのリストがあり、2人のユーザーが同じ評価を持っている場合、リストが常に同じになるとは限らないことを確認するために使用する乱数があります。

現在、私はクエリを実行することによってこれを行います:

   app_model1.column1、app_model1.colum2、app_model2.column3を選択します
   app_model1から左に参加app_model2
   colum1による順序、random();

しかし、大きなDjangoアプリをいくつかの小さなアプリにリファクタリングしているときに、テーブルの名前をこのSQLにハードコーディングしたことに気づきました(そして、単体テストが壊れました)。これを実現するには、ネイティブORMを使用する必要があります。

どうすれば同じ結果を得ることができますが、代わりにDjangoのdjango.contrib.auth.Userとプロファイルモデルを使用しますか?

4

1 に答える 1

3

ドキュメントによると、特別な「?」を使用できます。フィールド名:

    class Meta:
        ordering = ('colum1', '?')
于 2010-02-08T21:43:25.803 に答える