4

Djangoモデルを使用して複雑なクエリ(または単純なクエリ)を作成する方法を理解するのに問題があります。djangoモデルを使用して、内部結合、group by、および1つのステートメントでのカウントを実行しようとしています。

例:

Select ab.userid, count(ab.userid) as bids, u.username 
from auctionbids ab 
inner join users u on ab.userid=u.id 
group by ab.userid 
order by numbids desc;

このタイプのクエリは非常に一般的で単純なので、djangoモデルで実行できると想像する必要がありますが、ドキュメントからは明らかではありません。

編集:追加されたモデル

class Users(models.Model):
    id = models.IntegerField(primary_key=True)
    username = models.CharField(max_length=150)

class Auctionbids(models.Model):
    id = models.IntegerField(primary_key=True)
    user = models.ForeignKey(Users)
4

1 に答える 1

3

models.py ファイルを投稿すると、おそらくより正確な答えが得られると思いますが、必要なのはDjango Aggregration APIだと思います

次のように使用します。

from django.db.models import Count
User.objects.all().annotate(bids=Count('auctionbids')).order_by('bids')
于 2012-06-13T00:38:45.927 に答える