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