0

以下を Django ORM フォームにフレーム化する方法を知りたいです。

SELECT name,mobile_number,COUNT(*) as count, created FROM core_user,core_useractivity  WHERE core_user.id = core_useractivity.user_id GROUP BY user_id ORDER BY count DESC;

name、mobile number は core_user テーブルまたは USER モデルの列であり、created は core_useractivity の列であり、そのモデルは UserActivity です。2 つのテーブルは user_id で結合されます。さらに、結果を降順で表示する user_id で行をグループ化しています。

4

1 に答える 1

1

ユーザー アクティビティ カウントでユーザーに注釈を付けてみてください。

from django.db.models import Count
User.objects.annotate(num_activities=Count('useractivity')).order_by('num_activities')

これにより、それぞれが属性を持つユーザーのクエリセットが返されますnum_activities。詳細については、注釈に関するドキュメントを参照してください。

于 2013-02-05T12:11:16.963 に答える