4
Django Rest를 사용하여 모델에 첨부되지 않았지만 serializer에 첨부 된 사용자 정의 필드의 순서에 따라 모델의 json 표현을 반환하려고합니다. 모델 특정 필드를 사용하여이 작업을 수행하는 방법을 알고 있지만 필드가 serializer 클래스에만있는 경우 django rest를 사용하여 순서를 반환하는 방법은 무엇입니까? 나는 '점수'에 의해 주문 된 사진 목록을 반환하고 싶다. 감사!Django Rest 시리얼 라이저의 사용자 정의 필드에 주문 하시겠습니까?
당신의 관리자에게 방법 get_score
의 논리를 움직일 수
class PicList(generics.ListAPIView):
queryset = Pic.objects.all()
serializer_class = PicSerializerBasic
filter_backends = (filters.OrderingFilter,)
ordering = ('score')
------Serializer.py
class PicSerializer(serializers.ModelSerializer):
userprofile = serializers.StringRelatedField()
score = serializers.SerializerMethodField()
class Meta:
model = Pic
fields = ('title', 'description', 'image', 'userprofile', 'score')
order_by = (('title',))
def get_score(self, obj):
return Rating.objects.filter(picc=obj).aggregate(Avg('score'))['score__avg']