python

问题场景:在对某个表的 queryset 进行序列化的时候,我需要将一个可能会实时变更的临时数据也放进 queryset 中的每个
obj 对象中,
而正常情况下,obj 对象是不允许你添加不是自己表字段中的其他属性(这会引发异常)。

解决问题: 当你想在某个表对象中添加一些临时属性,而不是添加表字段的情况下,就可以使用以下方法添加自定义属性
 
# models.py
class Goods(models.Model):
    name = models.CharField(verbose_name="名称", max_length=32)

    @property
    def title(self):
        # 读取 title 值
        return self.title

    @title.setter
    def title(self, value):
        # 存储 title 值
        self.title = value

# views.py

goods_obj = Goods.objects.filter(id=1).first()
# 存储
goods_obj.title = "标签1"
# 获取
title = goods_obj.title


 
原文地址:https://www.cnblogs.com/chaoqi/p/13619376.html