Rest-Framework Serializer Methode

Habe ich Folgendes Serializer mit der Django REST Framework.

Dies ist, was ich habe, so weit...

serializer.py

class ProductSerializer(serializers.ModelSerializer):

    score = serializers.SerializerMethodField('get_this_score')

    class Meta:
        model = Product
        fields = ('id', 'title', 'active', 'score')

    def get_this_score(self, obj):

        profile = Profile.objects.get(pk=19)
        score = [val for val in obj.attribute_answers.all() if val in profile.attribute_answers.all()]
        return (len(score))

urls.py

 url(r'^products/(?P<profile_id>.+)/$', ProductListScore.as_view(), name='product-list-score'),

Gibt es ein paar Probleme mit diesem code-snippet.

1) Der Kinderwagen pk=19 ist fest es sein sollte self.kwargs['profile_id']. ich habe versucht und versucht, aber ich weiß nicht, wie pass kwarg in die Methode und kann nicht profile_id zu arbeiten. d.h. ich kann es nicht aus der url.

2) Sollte eine der in diesem code werden in den Modellen? Ich habe versucht, das hinzufügen, um Modelle, sondern kann wieder übergeben args.

models.py
D. H. Methode, Klasse

     def get_score(self, profile):

        score = [val for val in self.attribute_answers.all() if val in 
profile.attribute_answers.all()]
            return len(score)
InformationsquelleAutor jason | 2013-02-17
Schreibe einen Kommentar