防止在SerializerMethodField中重复查询
在 Django 中使用序列化器时遇到一个问题,两个变量使用同一个函数两次来返回参数,为了优化这个问题。
我采用了 Django 中的方法 cached_property 来缓存值,避免重复计算
但这样也带来另一个问题,当序列化多个对象时,
GoodsSerializer(goods_list, many=True).data
由于序列化第一个值的时候,被 cached_property 修饰的值已经存在序列后器对象中,之后的模型对象在序列化时使用的仍然时之前的值。所以我们中遍历我们被 cache
原创
2020-07-01 10:09:57 ·
367 阅读 ·
0 评论