Allow sorting by pinball score
This commit is contained in:
@@ -246,7 +246,7 @@ class PinballScore(models.Model):
|
||||
|
||||
# no history
|
||||
|
||||
MY_FIELDS = ['started_at', 'game_id', 'player', 'score']
|
||||
MY_FIELDS = ['started_at', 'game_id', 'player', 'score', 'user']
|
||||
def __str__(self):
|
||||
return str(self.started_at)
|
||||
|
||||
|
@@ -183,6 +183,7 @@ class TransactionSerializer(serializers.ModelSerializer):
|
||||
# hide info for non-vetted members so someone sitting
|
||||
# in our parking lot can't scrape all our info
|
||||
class OtherMemberSerializer(serializers.ModelSerializer):
|
||||
pinball_score = serializers.IntegerField(required=False)
|
||||
last_name = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
@@ -196,6 +197,7 @@ class OtherMemberSerializer(serializers.ModelSerializer):
|
||||
'application_date',
|
||||
'photo_small',
|
||||
'public_bio',
|
||||
'pinball_score',
|
||||
]
|
||||
|
||||
def get_last_name(self, obj):
|
||||
@@ -206,6 +208,8 @@ class OtherMemberSerializer(serializers.ModelSerializer):
|
||||
|
||||
# vetted member viewing other members
|
||||
class VettedOtherMemberSerializer(serializers.ModelSerializer):
|
||||
pinball_score = serializers.IntegerField(required=False)
|
||||
|
||||
class Meta:
|
||||
model = models.Member
|
||||
fields = [
|
||||
@@ -218,6 +222,7 @@ class VettedOtherMemberSerializer(serializers.ModelSerializer):
|
||||
'photo_small',
|
||||
'photo_large',
|
||||
'public_bio',
|
||||
'pinball_score',
|
||||
]
|
||||
|
||||
|
||||
|
@@ -132,6 +132,10 @@ class SearchViewSet(Base, Retrieve):
|
||||
).exclude(last_scanned__isnull=True).order_by('-last_scanned')
|
||||
else:
|
||||
queryset = []
|
||||
elif sort == 'pinball_score':
|
||||
queryset = queryset.annotate(
|
||||
pinball_score=Max('user__scores__score'),
|
||||
).exclude(pinball_score__isnull=True).order_by('-pinball_score')
|
||||
elif sort == 'everyone':
|
||||
queryset = queryset.annotate(Count('user__transactions')).order_by('-user__transactions__count', 'id')
|
||||
elif sort == 'best_looking':
|
||||
|
Reference in New Issue
Block a user