python - django 给 model 对象添加自定义属性


问题场景:在对某个表的 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
 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM