私は次のモデルを持っています:
class ProjectUser(models.Model):
categories = models.ManyToManyField('UserCategory', blank=True, null=True)
user_id = models.PositiveIntegerField(db_index=True)
name = models.CharField(max_length=80)
actual_rank = models.FloatField(default=0)
class UserCategory(models.Model):
name = models.CharField(max_length=100)
私がやりたいのは、カテゴリ名と、それらがユーザーに表示される回数を別のオブジェクトの長さで割ったものを取得することです。
カテゴリ辞書{'category':ocurrences}を作成し、それを繰り返し、発生数を数値で割ってカテゴリランクを取得しています。
これは良い方法かもしれませんが、いくつかのクエリセットメソッドを使用して直接実行できるかどうかを知りたいです。私は多くの場所で同様のことを行っており、それを解決するためのより良い、より簡潔な方法を見つけることは素晴らしいことです。