Итак, у меня есть это приложение для игры, и я собираюсь перечислять оценки пользователей. Запрос я думал об использовании было следующее:Доступ к пользовательской пользовательской информации через запрос
top_list = User.objects.filter().order_by('-score')[:10]
Но это было до того я реализовал фактического настраиваемого поля «счет» для пользователя. Так что я смотрел на recomended пути, и сделал следующее:
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
score = models.IntegerField(default=0);
, который заставил меня понять, что score
не будет поле в пользователя на всех (если я понял это правильно)? Пользователь будет иметь отношение «один к одному» к UserProfile, который, в свою очередь, держит оценку. Итак, как мне получить список десяти лучших пользователей на основе их оценок в порядке убывания?
является 'все()' необходим? –
Нет, это не так, это не имеет значения, но я чувствую, что OP использует 'filter()', но не делает никакой фильтрации, имея 'all()', это упрощает понимание. –
Да, я полагаю, что фильтр() был избыточным :) Кстати, userprofile должен быть в нижнем регистре, хотя модель определена как UserProfile? – MrJalapeno