3

私のアプリには、サイト アクティビティを追跡するためのモデルがあります。

class FeedItem(Document):
    user = ReferenceField('User')
    link = ReferenceField('Link')
    issue = ReferenceField('Threat')
    action = StringField(required=True, max_length=1000)
    datetime = DateTimeField(required=True)

... ユーザーがコンテンツに対して行った操作を追跡します。

「トップユーザー」リストを作成しようとしています。ここでは、最も多くの貢献をしたユーザーのリストを集計します (少なくとも最初は、ログに表示される回数によって決定されます)。

私はこれを試しました:

user_freqs = FeedItem.objects.item_frequencies('user', normalize=True)
top_users = sorted(user_freqs.items(), key=itemgetter(1), reverse=True)[:10]

(この例に基づく)

しかし、 item_frequencies() が ReferenceFields で機能しないため、それが機能しないことに気付きました。

私はこれが初めてで、少し途方に暮れています。どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

3

生の pymongo と集計フレームワークを使用することをお勧めします。これは onFeedItem.userとによる単純なグループ$sumです。

于 2013-06-26T13:32:20.190 に答える