summaryrefslogtreecommitdiff
path: root/pedidos-ya/app/opinion/serializers.py
diff options
context:
space:
mode:
Diffstat (limited to 'pedidos-ya/app/opinion/serializers.py')
-rw-r--r--pedidos-ya/app/opinion/serializers.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/pedidos-ya/app/opinion/serializers.py b/pedidos-ya/app/opinion/serializers.py
new file mode 100644
index 0000000..3aafdc7
--- /dev/null
+++ b/pedidos-ya/app/opinion/serializers.py
@@ -0,0 +1,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')