Repos Cadre Sérialiseur Méthode

J'ai le texte suivant Sérialiseur à l'aide de la Django REPOS Cadre.

C'est ce que j'ai jusqu'à présent...

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'),

Il existe quelques problèmes avec cet extrait de code.

1) de La pram pk=19 est codé en dur elle devrait être self.kwargs['profile_id']. j'ai essayé et essayé, mais je ne sais pas comment passer kwarg dans la méthode et ne peuvent pas obtenir profile_id de travail. c'est à dire je ne peux pas obtenir à partir de l'url.

2) si ce code dans les modèles? J'ai essayé d'ajouter les modèles, mais encore une fois peut passer le args.

models.py
c'est à dire la méthode de la classe

     def get_score(self, profile):

        score = [val for val in self.attribute_answers.all() if val in 
profile.attribute_answers.all()]
            return len(score)

OriginalL'auteur jason | 2013-02-17