Django将模型方法的输出添加到序列化对象

时间:2012-10-24 08:35:55

标签: python django json django-models django-serializer

我有一个模型,它有一个方法来计算其包含的值与其他相关子对象相比时所包含的百分比:

class childModel(models.Model):
    count = models.IntegerField()
    parent = models.ForeignKey(ParentModel)

    def percentage(self):
        return 100*float(self.count)/float(self.parent.total_count())

当我将此对象序列化为JSON输出时,我想在JSON输出中包含该百分比方法的值。

我尝试了使用model_to_dict的各种hacky方法,然后将值添加到dict中。这适用于转储数据,但在重新加载时会导致问题,因为它不存储Django内置serializers_serialize函数在转储数据时所做的模型键。

我也热衷于使用use_natural_keys的{​​{1}}选项,自然serializers_serialize不包含此内容 - 我想我也可以添加它,但似乎我非常喜欢这个系统。有什么想法吗?

0 个答案:

没有答案