blob: 3aafdc7c594cb788de2efddcb8a34ef8ebbbe7ff (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
from rest_framework import serializers
from opinion.models import Opinion
class OpinionSerializer(serializers.ModelSerializer):
"""Serializer for the opinion objects"""
store_avg = serializers.SerializerMethodField()
def get_store_avg(self, obj):
opinions = Opinion.objects.filter(store_id=obj.store_id)
score_sum = 0
for item in opinions:
score_sum += item.score
return (score_sum / len(opinions))
class Meta:
model = Opinion
fields = ('id', 'user_id', 'store_id', 'purchase_id', 'comment',
'score', 'created_at', 'updated_at', 'store_avg')
read_only_fields = ('id', 'created_at', 'updated_at', 'store_avg')
|