Django序列化器字段值基于同一串行器中的其他字段

时间:2015-03-27 07:03:38

标签: python django serialization django-rest-framework

假设我有以下序列化程序。

class ArticleSerializer(serializers.ModelSerializer):    
    comment_count = serializers.SerializerMethodField()
    commented = serializers.SerializerMethodField()
    def get_comment_count(self, obj):
        # Assume the method can retrieve the comment count correctly
        return x
    def get_commented(self, obj):
        # Return True if comment count > 0, else False
    class Meta:
        model = Article
        fields = ['title', 'content', 'comment_count', 'commented']

有关get_commented方法编码的任何建议吗?我的代码类似于return comment_count > 0,但却失败了。

1 个答案:

答案 0 :(得分:2)

您可以使用obj访问django对象,因此我认为代码将类似于:

obj.comment_set.count()

获取评论数,然后:

return self.get_comment_count(obj) > 0
Pang说要实施get_commented